Liên hệ
sql

Toán tử AND OR NOT IN trong SQL

Sử dụng các toán tử logic như toán tử AND, OR, NOT, IN để xây dựng các điều kiện của mệnh đề WHERE trong SQL

Toán tử Logic SQL

Với các toán tử Logic SQL bạn có thể kết hợp hai giá trị Boolean để trả về giá trị false true null

Bảng toán tử Logic SQL
AND Toán tử VÀ. TRUE nếu cả hai là true. Ví dụ: Price <=40 AND Price >=35
OR Toán tử HOẶC. TRUE nếu 1 trong 2 là TRUE. Ví dụ Price <=5 OR Price >=100
IN Trả về TRUE nếu giá trị số hạng có trong một danh sách biểu thức. Ví dụ Price IN (21.35,9.2,100)
NOT Toán tử PHỦ ĐỊNH. TRUE nếu biểu thức là FALSE. Ví dụ (NOT Price > 8)

Ví dụ toán tử AND

Chọn ra các bản ghi của bảng Products là các sản phẩm có giá nhỏ hơn 40 và lớn hơn 35.

SELECT * FROM Products
WHERE Price <=40 AND Price >=35

Kết quả:

ProductID ProductName SupplierID CategoryID Unit Price
Northwoods Cranberry Sauce  12 - 12 oz jars  40 
12  Queso Manchego La Pastora  10 - 500 g pkgs.  38 
17  Alice Mutton  20 - 1 kg tins  39 
56  Gnocchi di nonna Alice  26  24 - 250 g pkgs.  38 
69  Gudbrandsdalsost  15  10 kg pkg.  36 

Bạn có thể thực hành các câu lệnh SQL ví dụ trên CSDL mẫu SQLite có sẵn tại SQLite và thực hành lệnh SQL

Hoặc ví dụ:

SELECT * FROM Customers
WHERE Country = 'Germany' AND  City = 'Berlin'

Toán tử OR

Chọn ra các bản ghi từ bảng Customers mà có City bằng Berlin hoặc Madrid

SELECT * FROM Customers
WHERE City = 'Berlin' OR City = 'Madrid'
CustomerID CustomerName ContactName Address City PostalCode Country
Alfreds Futterkiste  Maria Anders  Obere Str. 57  Berlin  12209  Germany 
Bólido Comidas preparadas  Martín Sommer  C/ Araquil, 67  Madrid  28023  Spain 
22  FISSA Fabrica Inter. Salchichas S.A.  Diego Roel  C/ Moralzarzal, 86  Madrid  28034  Spain 
69  Romero y tomillo  Alejandra Camino  Gran Vía, 1  Madrid  28001  Spain 

Kết hợp AND/OR

Các điều kiện Logic có thể kết hợp nhiều toán tử Logic: AND OR NOT ...

Ví dụ: Lấy các bản ghi là các khách hàng đến từ Đức, ở thành phố Berlin hoặc Stuttgart.

SELECT * FROM Customers
WHERE Country = 'Germany' AND (City = 'Berlin' OR City = 'Stuttgart')
CustomerID CustomerName ContactName Address City PostalCode Country
Alfreds Futterkiste  Maria Anders  Obere Str. 57  Berlin  12209  Germany 
86  Die Wandernde Kuh  Rita Müller  Adenauerallee 900  Stuttgart  70563  Germany 

Ví dụ Toán tử IN

Ví dụ: Lấy các khách hàng có địa chỉ ở Berlin hoặc London hoặc Madrid

SELECT * FROM Customers
WHERE City IN ('Berlin', 'London', 'Madrid')
CustomerID CustomerName ContactName Address City PostalCode Country
Alfreds Futterkiste  Maria Anders  Obere Str. 57  Berlin  12209  Germany 
Around the Horn  Thomas Hardy  120 Hanover Sq.  London  WA1 1DP  UK 
Bólido Comidas preparadas  Martín Sommer  C/ Araquil, 67  Madrid  28023  Spain 
11  B's Beverages  Victoria Ashworth  Fauntleroy Circus  London  EC2 5NT  UK 
16  Consolidated Holdings  Elizabeth Brown  Berkeley Gardens 12 Brewery   London  WX1 6LT  UK 
19  Eastern Connection  Ann Devon  35 King George  London  WX3 6FW  UK 
22  FISSA Fabrica Inter. Salchichas S.A.  Diego Roel  C/ Moralzarzal, 86  Madrid  28034  Spain 
53  North/South  Simon Crowther  South House 300 Queensbridge  London  SW7 1RZ  UK 
69  Romero y tomillo  Alejandra Camino  Gran Vía, 1  Madrid  28001  Spain 
72  Seven Seas Imports  Hari Kumar  90 Wadhurst Rd.  London  OX15 4NB  UK 

Toán tử NOT

Toán tử phủ định là NOT, ví dụ lấy các khách hàng không phải ở Germany, Mexico, Spain

SELECT * FROM Customers
WHERE Country NOT IN('Germany', 'Mexico', 'Spain')

Vui lòng đăng ký ủng hộ kênh