Toán tử SQL THÍCH
Toán tử THÍCH SQL
Toán LIKE
được sử dụng trong mệnh đề WHERE
để tìm kiếm mẫu được chỉ định trong một cột.
Có hai ký tự đại diện thường được sử dụng cùng với toán tử LIKE
:
- Ký hiệu phần trăm
%
đại diện cho 0, một hoặc nhiều ký tự - Dấu gạch dưới
_
đại diện cho một ký tự đơn
Bạn sẽ tìm hiểu thêm về ký tự đại diện trong chương tiếp theo .
Ví dụ
Chọn tất cả khách hàng bắt đầu bằng chữ "a":
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
Hãy tự mình thử »Cú pháp
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern ;
Cơ sở dữ liệu demo
Dưới đây là lựa chọn từ bảng Khách hàng được sử dụng trong các ví dụ:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
_ Ký tự đại diện
Ký tự đại diện _
đại diện cho một ký tự đơn.
Nó có thể là bất kỳ ký tự hoặc số nào, nhưng mỗi _
đại diện cho một và chỉ một ký tự.
Ví dụ
Trả về tất cả khách hàng từ một thành phố bắt đầu bằng 'L', theo sau là một ký tự đại diện, sau đó là 'nd' và sau đó là hai ký tự đại diện:
SELECT * FROM Customers
WHERE city LIKE 'L_nd__';
Hãy tự mình thử » % Ký tự đại diện
Ký tự đại diện %
đại diện cho bất kỳ số lượng ký tự nào, thậm chí là 0 ký tự.
Ví dụ
Trả về tất cả khách hàng từ thành phố có chứa chữ 'L':
SELECT * FROM Customers
WHERE city LIKE '%L%';
Hãy tự mình thử »Bắt đầu với
Để trả về các bản ghi bắt đầu bằng một chữ cái hoặc cụm từ cụ thể, hãy thêm %
vào cuối chữ cái hoặc cụm từ đó.
Ví dụ
Trả về tất cả khách hàng bắt đầu bằng 'La':
SELECT * FROM Customers
WHERE CustomerName LIKE 'La%';
Hãy tự mình thử » Mẹo: Bạn cũng có thể kết hợp bất kỳ số lượng điều kiện nào bằng cách sử dụng toán tử AND
hoặc OR
.
Ví dụ
Trả về tất cả khách hàng bắt đầu bằng 'a' hoặc bắt đầu bằng 'b':
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%' OR CustomerName LIKE 'b%';
Hãy tự mình thử »Kết thúc bằng
Để trả về các bản ghi kết thúc bằng một chữ cái hoặc cụm từ cụ thể, hãy thêm %
vào đầu chữ cái hoặc cụm từ.
Ví dụ
Trả về tất cả khách hàng kết thúc bằng 'a':
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
Hãy tự mình thử »Mẹo: Bạn cũng có thể kết hợp "bắt đầu bằng" và "kết thúc bằng":
Ví dụ
Trả về tất cả khách hàng bắt đầu bằng "b" và kết thúc bằng "s":
SELECT * FROM Customers
WHERE CustomerName LIKE 'b%s';
Hãy tự mình thử »Chứa
Để trả về bản ghi có chứa một chữ cái hoặc cụm từ cụ thể, hãy thêm %
cả trước và sau chữ cái hoặc cụm từ đó.
Ví dụ
Trả về tất cả khách hàng có chứa cụm từ 'hoặc'
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
Hãy tự mình thử »Kết hợp các ký tự đại diện
Bất kỳ ký tự đại diện nào, như %
và _
, đều có thể được sử dụng kết hợp với các ký tự đại diện khác.
Ví dụ
Trả về tất cả khách hàng bắt đầu bằng "a" và có độ dài ít nhất 3 ký tự:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
Hãy tự mình thử »Ví dụ
Trả về tất cả khách hàng có chữ "r" ở vị trí thứ hai:
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
Hãy tự mình thử »Không có ký tự đại diện
Nếu không có ký tự đại diện nào được chỉ định thì cụm từ đó phải khớp chính xác để trả về kết quả.
Ví dụ
Trả lại tất cả khách hàng từ Tây Ban Nha:
SELECT * FROM Customers
WHERE Country
LIKE 'Spain';
Hãy tự mình thử »