Đôi lúc chúng ta cần lấy các bộ giá trị từ cơ sở dữ liệu phù hợp với một pattern có sẵn chứ không theo một giá trị cụ thể nào. Ví dụ chúng ta muốn lấy tất cả các dữ liệu từ bảng Student khi có tên bắt đầu bằng chữ H. Hoặc thậm chí có nhiều pattern phức tạp hơn nữa, thì chắc chắn đây là lúc LIKE phát huy hiệu quả sức mạnh của nó.
Trước tiên, chúng ta sẽ có 2 ký tự đại diện được sử dụng thường xuyên trong LIKE.
- %: Được sử dụng để khớp với không hoặc nhiều ký tự. (Chiều dài thay đổi)
- _: Dùng để khớp chính xác một ký tự. (Chiều dài cố định)
PATTERN | MEANING |
---|---|
‘a%’ | Khớp với chuỗi bắt đầu bằng ký tự a. |
‘%a’ | Khớp với chuỗi kết thúc bằng ký tự a. |
‘a%t’ | Khớp với chuỗi bắt đầu bằng ký tự a và kết thúc bởi ký tự t. |
‘%wow%’ | Khớp với chuỗi chứa chuỗi trong wow ở bất kỳ vị trí nào. |
‘_wow%’ | Khớp với chuỗi chứa chuỗi trong wow ở vị trí thứ 2 trong chuỗi. |
‘_a%’ | Khớp với chuỗi chứa ký tự a tại vị trí thứ 2 |
‘a_ _%’ | Khớp với chuỗi chứa ký tự a tại vị trí đầu tiên và thêm ít nhất 2 ký tự. |
Giả sử chúng ta có mối quan hệ, Supplier. Chúng ta muốn kiểm tra các mẫu khác nhau bằng mệnh đề LIKE:
Supplier Table:
SUPPLIERID | NAME | ADDRESS |
---|---|---|
S1 | Paragon Suppliers | 21-3, Okhla, Delhi |
S2 | Mango Nation | 21, Faridabad, Haryana |
S3 | Canadian Biz | 6/7, Okhla Phase II, Delhi |
S4 | Caravan Traders | 2-A, Pitampura, Delhi |
S5 | Harish and Sons | Gurgaon, NCR |
S6 | Om Suppliers | 2/1, Faridabad, Haryana |
SELECT SupplierID, Name, Address FROM Suppliers WHERE Name LIKE 'Ca%';
Lấy tất cả các Supplier có tên bắt đầu bằng Ca.
Output: S3 Canadian Biz 6/7, Okhla Phase II, Delhi S4 Caravan Traders 2-A, Pitampura, Delhi
Output:
S3 | Canadian Biz | 6/7, Okhla Phase II, Delhi |
S4 | Caravan Traders | 2-A, Pitampura, Delhi
SELECT SupplierID, Name, Address FROM Suppliers WHERE Name LIKE '_ango%'; |
Output:
S1 | Paragon Suppliers | 21-3, Okhla, Delhi |
S3 | Canadian Biz | 6/7, Okhla Phase II, Delhi |
SELECT * FROM Suppliers WHERE Address LIKE '%Okhla%';