Có nhiều điều bạn có thể làm để định nghĩa truy vấn trong SQL. Một việc bạn có thể làm với mệnh đề WHERE là kiểm tra xem hàng có tồn tại với tham số khớp trong cơ sở dữ liệu không. Chúng ta làm điều này với toán tử EXISTS.
Cú pháp như sau:
SELECT <Cot> FROM <Bang1>
WHERE EXISTS (
SELECT <Cot> FROM <Bang2>
WHERE <Bang2_Khoa_Chinh> = <Bang1_Khoa_Chinh>
AND <Cot_Khac_Bang2> = <rang_buoc_nao_do>
);
Điều kiện EXISTS của SQL trả về tên cột ban đầu được chọn trên các hàng nơi subquery EXISTS trong ngoặc đơn là true. Trong ví dụ từ W3Schools, chúng ta chọn tên nhà cung cấp từ truy vấn bên ngoài trả về true khi subquery vượt qua mệnh đề EXISTS.
SELECT SupplierName FROM Suppliers WHERE EXISTS ( SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price < 20 );
SQL EXISTS về cơ bản đóng vai trò như một bộ lọc: chỉ các cột chúng ta chọn từ bảng đầu tiên được trả về. Hãy thử toán tử này và các câu lệnh truy vấn SQL khác trong môi trường sandbox trên W3Schools. Chắc chắn sẽ giúp bạn nâng cao kỹ năng viết truy vấn!