Mệnh đề WHERE IN trong SQL

Menh De Where In Trong Sql



Trong SQL, chúng ta có thể sử dụng mệnh đề WHERE IN để lọc kết quả trong cơ sở dữ liệu nhất định. Mệnh đề WHERE IN cho phép chúng ta chọn các hàng từ cơ sở dữ liệu nhất định khớp với một hoặc nhiều giá trị được chỉ định từ danh sách nhất định.

Trong hướng dẫn này, chúng ta sẽ khám phá mệnh đề WHERE IN để khám phá cách chúng ta có thể sử dụng nó để lọc kết quả từ một bảng hoặc tập hợp kết quả nhất định.

Mệnh đề WHERE IN trong SQL

Sau đây trình bày cú pháp cơ bản của mệnh đề WHERE IN trong SQL:







CHỌN cột1, cột2, ...
TỪ tên_bảng
Ở ĐÂU tên cột IN (giá trị1, giá trị2, ...);

Chúng ta bắt đầu bằng câu lệnh “select” cơ bản, theo sau là các cột mà chúng ta muốn đưa vào tập kết quả.



Tiếp theo, chúng tôi chỉ định bảng mà chúng tôi muốn lấy kết quả. Cuối cùng, chúng tôi chỉ định điều kiện lọc bằng mệnh đề WHERE, theo sau là tên của cột mà chúng tôi muốn lọc. Sau mệnh đề IN, chúng ta chỉ định danh sách giá trị mà chúng ta muốn sử dụng để lọc.



Ví dụ 1: Lọc một kết quả duy nhất

Để minh họa rõ hơn cách sử dụng mệnh đề WHERE IN, chúng ta hãy xem một ví dụ. Hãy xem xét bảng “phim” từ cơ sở dữ liệu mẫu Sakila.





Giả sử chúng ta muốn truy xuất tất cả các phim có xếp hạng PG hoặc PG-13. Chúng ta có thể sử dụng mệnh đề WHERE IN như sau:

CHỌN tiêu đề, năm phát hành, xếp hạng
TỪ phim
Xếp hạng WHERE IN ('PG');

Trong trường hợp này, chúng tôi cung cấp danh sách một giá trị mà chúng tôi muốn truy xuất trong mệnh đề IN.



Ví dụ 2: Lọc nhiều giá trị

Chúng ta cũng có thể chỉ định nhiều mục trong danh sách giá trị. Ví dụ: để truy xuất các phim có danh sách xếp hạng PG và PG-13, chúng ta có thể chạy truy vấn như sau:

CHỌN tiêu đề, năm phát hành, xếp hạng
TỪ phim
Xếp hạng WHERE IN ('PG', 'PG-13');

Kết quả đầu ra như sau:

Ví dụ 3: Lọc bằng truy vấn con

Chúng ta cũng có thể sử dụng WHERE IN trong truy vấn con, điều này có thể cho phép chúng ta lọc ra kết quả từ một tập kết quả nhất định.

Giả sử chúng ta muốn lọc phim dựa trên ngôn ngữ. Ví dụ: để truy xuất phim bằng tiếng Anh và tiếng Nhật, chúng ta có thể sử dụng WHERE IN trong truy vấn con như sau:

CHỌN tiêu đề, năm phát hành, xếp hạng
TỪ phim f
Ở ĐÂU ngôn ngữ_id TRONG (
CHỌN ngôn ngữ_id
TỪ ngôn ngữ
Tên WHERE IN ('tiếng Anh', 'tiếng Nhật')
);

Trong ví dụ này, chúng tôi tạo một truy vấn con truy xuất các giá trị “ngôn ngữ_id” cho ngôn ngữ tiếng Anh và tiếng Nhật từ bảng “ngôn ngữ”. Trong truy vấn chính, chúng tôi chọn phim dựa trên giá trị “ngôn ngữ_id” thu được.

Phần kết luận

Trong bài đăng này, chúng ta đã học cách làm việc với mệnh đề WHERE IN trong SQL để lọc ra các kết quả khớp với một hoặc nhiều giá trị trong một danh sách nhất định.