LIKE - Tìm kiếm giống
Toán tử LIKE được sử dụng để lọc tập kết quả dựa trên mẫu chuỗi. Nó luôn được sử dụng trong mệnh đề WHERE.
Syntax
Cú pháp cho toán tử LIKE như sau:
FROM "table_name"
WHERE "column_name" LIKE {PATTERN};
{PATTERN} thường bao gồm các ký tự đại diện. Chúng tôi đã xem một số ví dụ về đối sánh ký tự đại diện trong phần trước.
Ví dụ
Chúng tôi sử dụng bảng sau cho ví dụ của chúng tôi.
Table Store_Information
Store_Name | Sales | Txn_Date |
LOS ANGELES | 1500 | Jan-05-1999 |
SAN DIEGO | 250 | Jan-07-1999 |
SAN FRANCISCO | 300 | Jan-08-1999 |
BOSTON | 700 | Jan-08-1999 |
Chúng tôi muốn tìm tất cả các cửa hàng có tên chứa 'AN'. Để làm như vậy, chúng tôi nhấn mạnh,
FROM Store_Information
WHERE Store_Name LIKE '%AN%';
Kết quả:
Store_Name | Sales | Txn_Date |
LOS ANGELES | 1500 | Jan-05-1999 |
SAN DIEGO | 250 | Jan-07-1999 |
SAN FRANCISCO | 300 | Jan-08-1999 |
Dấu "%" trước 'AN' có nghĩa là có thể có 0, 1 hoặc nhiều ký tự trước mẫu 'AN.' Dấu "%" sau 'AN' có nghĩa là có thể có 0, 1 hoặc nhiều ký tự sau mẫu 'AN.' Trong số bốn tên cửa hàng, 'LOS ANGELES,' 'SAN DIEGO' và 'SAN FRANCISCO' đều chứa mẫu này.
Bài tập
Đối với các bài tập này, giả sử chúng ta có một bảng có tên là User_Sales với dữ liệu sau:
Bảng User_Sales
First_Name | Last_Name | Birth_Date | Gender | Join_Date | Total_Sales |
Sophie | Lee | Jan-05-1960 | F | Apr-05-2015 | 500 |
Richard | Brown | Jan-07-1975 | M | Apr-05-2015 | 200 |
Jamal | Santo | Oct-08-1983 | M | Apr-09-2015 | 350 |
Casey | Healy | Sep-20-1969 | M | Apr-09-2015 | 80 |
Jill | Wilkes | Nov-20-1979 | F | Apr-15-2015 | 210 |
1) 1. Câu lệnh SQL nào sau đây là hợp lệ? (Có thể có nhiều hơn một câu trả lời)
a) SELECT First_Name, Last_Name FROM User_Sales WHERE First_Name LIKE 'A%' Last_Name LIKE 'W%';
b) SELECT First_Name, Last_Name FROM User_Sales WHERE First_Name LIKE 'J%' AND Last_Name LIKE 'W%';
c) SELECT First_Name, Last_Name FROM User_Sales First_Name LIKE 'J%' AND Last_Name LIKE 'W%';
d) SELECT First_Name, Last_Name FROM User_Sales WHERE First_Name LIKE 'J%', Last_Name LIKE 'W%';
2. How many records will be returned by the following query? (Giả sử cơ sở dữ liệu được định cấu hình không phân biệt chữ hoa chữ thường)
SELECT * FROM User_Sales WHERE Last_Name LIKE '%l_e%';
3. Có bao nhiêu bản ghi sẽ được trả về bởi truy vấn sau? (Giả sử cơ sở dữ liệu được định cấu hình không phân biệt chữ hoa chữ thường)
SELECT * FROM User_Sales WHERE First_Name LIKE '%a%' OR Last_Name LIKE '%e%';
Xem thêm:
- DELETE FROM - Xóa dòng trong SQL
- UPDATE - cú pháp cập nhật dữ liệu
- INSERT INTO SELECT - Insert dữ liệu từ câu lệnh select
- INSERT INTO - cú pháp thêm dữ liệu
- SELECT UNIQUE - Select loại bỏ trùng
- SQL AS - Gán bí danh cho bảng