Mệnh đề SQL Where trên nhiều điều kiện

Menh De Sql Where Tren Nhieu Dieu Kien



Cơ sở dữ liệu là một khối xây dựng quan trọng của các ứng dụng hiện đại. Tuy nhiên, cơ sở dữ liệu lưu trữ một lượng dữ liệu khổng lồ. Do đó, chúng tôi cần các cách để lọc dữ liệu và chỉ tìm nạp các bản ghi cần thiết.

Một trong những phương pháp lọc dữ liệu phổ biến nhất của SQL là sử dụng mệnh đề WHERE. Mệnh đề WHERE trong SQL cho phép chúng ta lọc các bản ghi dựa trên một điều kiện nhất định. Mệnh đề này có thể chỉ định một hoặc nhiều điều kiện cho phép chúng ta lọc các bản ghi được trả về bởi câu lệnh SELECT.







Hướng dẫn này khám phá cách làm việc với mệnh đề WHERE và chỉ định nhiều điều kiện trong một mệnh đề duy nhất cho phép lọc dữ liệu chi tiết và được kiểm soát nhiều hơn.



Khái niệm cơ bản về mệnh đề SQL WHERE

Chúng ta hãy bắt đầu với những điều cơ bản và tìm hiểu các nguyên tắc cơ bản khi làm việc với mệnh đề WHERE trong SQL.



Giả sử chúng ta có một bảng chứa thông tin quốc gia và chúng ta chỉ lấy các quốc gia có dân số (trên mỗi km vuông) lớn hơn 100 và diện tích lớn hơn 2000000.





Chúng ta có thể chạy một truy vấn như sau:

LỰA CHỌN * TỪ sample_db.country_inif
khu vực ĐÂU > 2.000.000 VÀ dân số_per_km_sq > 100 ;


Trong ví dụ trước, chúng ta sử dụng mệnh đề WHERE và toán tử AND để chỉ định hai điều kiện. Việc sử dụng toán tử AND cho SQL biết rằng cả hai điều kiện PHẢI được đáp ứng để bản ghi được đưa vào tập kết quả.



Điều này sẽ chỉ trả về các quốc gia phù hợp với tiêu chí được chỉ định như sau:


Hãy xem các toán tử khác để chỉ định nhiều điều kiện trong mệnh đề WHERE.

Toán tử SQL HOẶC

Toán tử OR cho phép chúng ta chỉ định nhiều điều kiện trong mệnh đề WHERE. Tuy nhiên, không giống như toán tử AND yêu cầu phải đáp ứng tất cả các điều kiện, toán tử OR yêu cầu ít nhất một trong các điều kiện phải được đáp ứng.

Ví dụ: để chọn các quốc gia có diện tích lớn hơn 2000000 hoặc dân số (trên mỗi km vuông) lớn hơn 100, chúng ta có thể chạy truy vấn sau:

LỰA CHỌN * TỪ sample_db.country_inif
khu vực ĐÂU > 2.000.000 HOẶC dân_số_km_sq > 100 ;


Trong trường hợp này, truy vấn sẽ trả về kết quả như sau:

Toán tử SQL IN

Chúng ta cũng có thể sử dụng toán tử IN để chỉ định nhiều giá trị cho một cột. Ví dụ: để chọn các quốc gia có tên bao gồm chuỗi “United States” và “Russia”, chúng ta có thể chạy truy vấn như sau:

LỰA CHỌN * TỪ sample_db.country_inif
NƯỚC Ở ĐÂU ( 'Hoa Kỳ' , 'Nga' ) ;


Kết quả:

Toán tử KHÔNG SQL

Toán tử NOT cho phép chúng ta phủ định một điều kiện đã cho.

Ví dụ: chọn các quốc gia không có diện tích được chỉ định và phổ biến trên mỗi km vuông:

LỰA CHỌN * TỪ sample_db.country_inif
KHU VỰC KHÔNG > 2.000.000 VÀ dân số_per_km_sq > 100 ;


Kết quả:

Nhiều toán tử SQL

Chúng ta cũng có thể kết hợp nhiều toán tử để chỉ định các điều kiện phức tạp hơn.

LỰA CHỌN * TỪ sample_db.country_inif
Ở ĐÂU ( quốc gia_thông tin.khu vực > 2.000.000 VÀ dân số_per_km_sq > 100 ) HOẶC quốc gia = 'Trung Quốc' ;


Đầu ra:


Trong ví dụ này, chúng tôi sử dụng dấu ngoặc đơn để nhóm hai điều kiện đầu tiên để chúng được đánh giá là một điều kiện trước khi được so sánh với điều kiện thứ ba.

Phần kết luận

Chúng ta đã học cách sử dụng mệnh đề WHERE để chỉ định nhiều điều kiện trong SQL. Ngoài ra, chúng tôi đã đề cập đến các toán tử AND, OR, IN và NOT và khám phá cách kết hợp chúng để tạo ra các điều kiện phức tạp hơn.