Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng toán tử MySQL LIKE
để truy vấn dữ liệu dựa trên một mẫu được chỉ định
Giới thiệu về toán tử THÍCH trong MySQL
Toán tử LIKE
là toán tử logic kiểm tra xem một chuỗi có chứa một mẫu được chỉ định hay không
Đây là cú pháp của toán tử LIKE
Code language: SQL [Structured Query Language] [sql]
expression LIKE pattern ESCAPE escape_character
Trong cú pháp này, nếu
1 khớp vớiCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
2, thì toán tửCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
LIKE
trả về 1. Nếu không, nó trả về 0MySQL cung cấp hai ký tự đại diện để xây dựng các mẫu. tỷ lệ phần trăm
4 và dấu gạch dướiCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
5Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
- Ký tự đại diện tỷ lệ phần trăm [
4 ] khớp với bất kỳ chuỗi nào có 0 hoặc nhiều ký tự
Code language: SQL [Structured Query Language] [sql]SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
- Ký tự đại diện gạch dưới [
5 ] khớp với bất kỳ ký tự đơn nào
Code language: SQL [Structured Query Language] [sql]SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
Ví dụ:
8 khớp với bất kỳ chuỗi nào bắt đầu bằng ký tựCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
9, chẳng hạn nhưCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
0 vàCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
1.Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
2 khớp với bất kỳ chuỗi nào bắt đầu bằngCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
3 và được theo sau bởi bất kỳ ký tự nào, chẳng hạn nhưCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
4 vàCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
5
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
Code language: SQL [Structured Query Language] [sql]
Khi mẫu chứa ký tự đại diện và bạn muốn coi ký tự đó là ký tự thông thường, bạn có thể sử dụng mệnh đề
6Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
Thông thường, bạn sẽ sử dụng toán tử LIKE
trong mệnh đề
8 của câu lệnhCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
9 ,Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
0 vàCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
1Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
Ví dụ toán tử MySQL LIKE
Hãy thực hành với một số ví dụ về cách sử dụng toán tử LIKE
. Chúng tôi sẽ sử dụng bảng
3 sau đây từ cơ sở dữ liệu mẫu để trình diễnCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
A] Sử dụng toán tử LIKE của MySQL với các ví dụ về ký tự đại diện tỷ lệ phần trăm [%]
Ví dụ này sử dụng toán tử LIKE
để tìm những nhân viên có tên bắt đầu bằng chữ cái
5Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
Trong ví dụ này, MySQL quét toàn bộ bảng
3 để tìm những nhân viên có tên bắt đầu bằng chữ cáiCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
5 và theo sau là một số ký tự bất kỳCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
Ví dụ này sử dụng toán tử LIKE
để tìm những nhân viên có họ kết thúc bằng chuỗi ký tự
9 e. g. ,Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
0,Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstname LIKE 'T_m';
1
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstname LIKE 'T_m';
Code language: SQL [Structured Query Language] [sql]
Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
Để kiểm tra xem một chuỗi có chứa chuỗi con hay không, bạn có thể sử dụng ký tự đại diện phần trăm [
4 ] ở đầu và cuối chuỗi conCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstName LIKE 'a%';
Ví dụ: truy vấn sau sử dụng toán tử LIKE
để tìm tất cả nhân viên có họ chứa chuỗi con
9Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastname LIKE '%on%';
B] Sử dụng toán tử MySQL LIKE với các ví dụ về ký tự đại diện gạch dưới [ SELECT
employeeNumber,
lastName,
firstName
FROM
employees
WHERE
firstName LIKE 'a%';
Code language: SQL [Structured Query Language] [sql]
5 ]
SELECT
employeeNumber,
lastName,
firstName
FROM
employees
WHERE
firstName LIKE 'a%';
Để tìm nhân viên có tên bắt đầu bằng chữ cái
6 , kết thúc bằng chữ cáiCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstname LIKE 'T_m';
7 và chứa bất kỳ ký tự đơn nào giữa e. g. ,Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstname LIKE 'T_m';
8 ,Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstname LIKE 'T_m';
9, bạn sử dụng ký tự đại diện gạch dưới [_] để xây dựng mẫu như sauCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstname LIKE 'T_m';
Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE firstname LIKE 'T_m';
C] Sử dụng MySQL NOT LIKE ví dụ toán tử
MySQL cho phép bạn kết hợp toán tử
0 với toán tửCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
LIKE
để tìm một chuỗi không khớp với một mẫu cụ thểGiả sử bạn muốn tìm kiếm những nhân viên có họ không bắt đầu bằng chữ cái
2, bạn có thể sử dụng toán tử
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
Code language: SQL [Structured Query Language] [sql]
3 như sauCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
Lưu ý rằng mẫu không phân biệt chữ hoa chữ thường. Do đó, các mẫu
4 vàCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
5 trả về cùng một kết quảCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
Toán tử LIKE của MySQL với mệnh đề ESCAPE
Đôi khi mẫu có thể chứa các ký tự đại diện e. g. , 10%, _20, v.v.
Trong trường hợp này, bạn có thể sử dụng mệnh đề
6 để chỉ định ký tự thoát sao cho toán tử LIKE diễn giải ký tự đại diện thành ký tự chữCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';
Nếu bạn không chỉ định rõ ràng ký tự thoát, thì ký tự dấu gạch chéo ngược [
7] là ký tự thoát mặc địnhCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
Ví dụ: nếu bạn muốn tìm sản phẩm có mã sản phẩm chứa chuỗi
8, bạn có thể sử dụng mẫuCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
9 với ký tự thoát mặc địnhCode language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName NOT LIKE 'B%';
Code language: SQL [Structured Query Language] [sql]
SELECT productCode, productName FROM products WHERE productCode LIKE '%\_20%';
Ngoài ra, bạn có thể chỉ định một ký tự thoát khác e. g. ,
0 sử dụng mệnh đềCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName FROM products WHERE productCode LIKE '%\_20%';
6Code language: SQL [Structured Query Language] [sql]
SELECT employeeNumber, lastName, firstName FROM employees WHERE lastName LIKE '%on';