Chúng ta có thể sử dụng toán tử MySQL EXIST để kiểm tra sự tồn tại của một bản ghi trong truy vấn con. Nói cách khác, chúng ta có thể nói rằng toán tử EXIST kiểm tra xem một truy vấn con có trả về bất kỳ hàng nào hay không. Cú pháp sử dụng toán tử EXIST với truy vấn con MySQL như sau -
Cú pháp
WHERE EXISTS (Subquery)
Biểu thức EXIST (truy vấn con) ở trên trả về TRUE nếu truy vấn con trả về ít nhất một hàng, nếu không thì trả về false.
Ví dụ
Để hiểu rõ, chúng tôi đang sử dụng dữ liệu từ các bảng sau -
mysql> Select * from Customers; +-------------+----------+ | Customer_Id | Name | +-------------+----------+ | 1 | Rahul | | 2 | Yashpal | | 3 | Gaurav | | 4 | Virender | +-------------+----------+ 4 rows in set (0.00 sec) mysql> Select * from Reservations; +------+-------------+------------+ | ID | Customer_id | Day | +------+-------------+------------+ | 1 | 1 | 2017-12-30 | | 2 | 2 | 2017-12-28 | | 3 | 2 | 2017-12-29 | | 4 | 1 | 2017-12-25 | | 5 | 3 | 2017-12-26 | +------+-------------+------------+ 5 rows in set (0.00 sec)
Sau đây là truy vấn con MySQL với EXIST sử dụng các bảng được đề cập ở trên -
mysql> Select Name from customers WHERE EXISTS (SELECT * FROM Reservations WHERE Customers.customer_id = Reservations.customer_id); +---------+ | Name | +---------+ | Rahul | | Yashpal | | Gaurav | +---------+ 3 rows in set (0.06 sec)
Truy vấn trên cung cấp tên của những khách hàng đã đặt chỗ.