Toán tử And và Or được sử dụng để lọc các bản ghi dựa trên nhiều hơn một điều kiện.
Các toán tử AND và OR trong SQL
Toán tử AND hiển thị một bản ghi nếu cả hai điều kiện đầu tiền VÀ thứ hai đều đúng.
Toán tử OR hiển thị một bản ghi nếu chỉ cần một trong hai điều kiện là đúng.
Cơ sở dữ liệu demo
Trong khoá này chúng ta sẽ sử dụng cơ sở dữ liệu mẫu Northwind được nhiều người biết đến.
Dưới đây là một lựa chọn từ bảng “Customers”:
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 |
Ví dụ về toán tử AND
Câu lệnh SQL dưới đây lựa chọn tất cả khách hàng từ quốc gia Đức – “Germany” VÀ thành phố là “Berlin”, trong bảng “Customers”:
Ví dụ
SELECT * FROM Customers
WHERE Country='Germany'
AND City='Berlin';
Kết quả chỉ có một bản ghi thoả mãn cả hai tiếu chí:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
Ví dụ về toán tử OR
Câu lệnh SQL dưới đây lựa chọn tất cả các khác hàng từ thành phố “Berlen” hoặc “München”, trong bảng “Customers”:
Ví dụ
SELECT * FROM Customers
WHERE City='Berlin'
OR City='München';
Kết quả có hai bản ghi thoả mãn:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
25 | Frankenversand | Peter Franken | Berliner Platz 43 | München | 80805 | Germany |
Kết hợp AND & OR
Bạn có thể kết hợp AND và OR (sử dụng dấu ngoặc đơn để tạo biểu thức phức tạp).
Câu lệnh SQL dưới đây lựa chọn tất cả khách hàng từ quốc gia Đức – “Germany” VÀ thành phố phải là “Berlin” HOẶC “München”, trong bảng “Customers”:
Ví dụ
SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');
Kết quả:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
25 | Frankenversand | Peter Franken | Berliner Platz 43 | München | 80805 | Germany |