LIKE - Tìm kiếm giống

2022-11-02 13:51:57

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:

SELECT "column_name"
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,

SELECT *
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:


Chia sẻ: