EXISTS Kiểm Tra Sự Tồn Tại Trong SQL - Deft Blog
Có thể bạn quan tâm
Mục lục
- 1 Sử dụng EXISTS với SELECT
- 2 Sử dụng NOT với EXISTS
- 3 Sử dụng EXISTS Với DELETE
- 4 Sử dụng EXISTS với UPDATE
Điều kiện EXISTS trong SQL được sử dụng để kiểm tra sự tồn tại của bất kỳ bản ghi nào trong truy vấn phụ. Kết quả trả về của EXISTS là một giá trị boolean TRUE hoặc FALSE. Nó có thể được sử dụng trong câu lệnh SELECT, UPDATE, INSERT hoặc DELETE.
Cú pháp
SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name(s) FROM table_name WHERE condition);Ví dụ chúng ta có bảng Customers và Orders sau
customer_id | Lname | Fname | website |
401 | Singh | Dolly | abc.com |
402 | Chauhan | Anuj | def.com |
403 | Kumar | Niteesh | ghi.com |
404 | Gupta | Shubham | jkl.com |
405 | Walecha | Divya | abc.com |
406 | Jain | Sandeep | jkl.com |
407 | Mehta | Rajiv | abc.com |
408 | Mehra | Anand | abc.com |
Và bản Orders
order_id | c_id | order_table |
1 | 407 | 2017-03-03 |
2 | 405 | 2017-03-05 |
3 | 408 | 2017-01-18 |
4 | 404 | 2017-02-05 |
Sử dụng EXISTS với SELECT
Để lấy họ và tên của những customer đã đặt ít nhất một đơn hàng.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);Output
fname | lname |
Shubham | Gupta |
Divya | Walecha |
Rajiv | Mehta |
Anand | Mehra |
Sử dụng NOT với EXISTS
Tìm nạp họ và tên của những Customer chưa đặt hàng.
SELECT lname, fname FROM Customer WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);Output
fname | lname |
Singh | Dolly |
Chauhan | Anuj |
Kumar | Niteesh |
Jain | Sandeep |
Sử dụng EXISTS Với DELETE
Xóa bản ghi của tất cả dòng trong bảng Order khi Custommer có họ là ‘Mehra’.
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.cid AND Customers.lname = 'Mehra'); SELECT * FROM Orders;order_id | c_id | order_table |
1 | 407 | 2017-03-03 |
2 | 405 | 2017-03-05 |
3 | 404 | 2017-02-05 |
Sử dụng EXISTS với UPDATE
Cập nhật tên là ‘Kumari’ của customer có customer_id là 401.
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401); SELECT * FROM Customers;Output
customer_id | Lname | Fname | website |
401 | Kumari | Dolly | abc.com |
402 | Chauhan | Anuj | def.com |
403 | Kumar | Niteesh | ghi.com |
404 | Gupta | Shubham | jkl.com |
405 | Walecha | Divya | abc.com |
406 | Jain | Sandeep | jkl.com |
407 | Mehta | Rajiv | abc.com |
408 | Mehra | Anand | abc.com |
Từ khóa » Toán Tử Exists Trong Sql
-
Điều Kiện EXISTS Trong SQL Server
-
Toán Tử EXISTS Trong SQL Server
-
Toán Tử EXISTS Trong SQL - BAC
-
Toán Tử EXISTS Trong SQL | Lập Trình Từ Đầu
-
SQL Server: EXISTS Và NOT EXISTS | V1Study
-
[Tự Học SQL] Tìm Hiểu Về Toán Tử EXISTS, ANY Và ALL Với SELECT ...
-
SQL EXISTS - TRẦN VĂN BÌNH MASTER
-
Toán Tử SQL EXISTS
-
Lệnh EXISTS Trong MySQL - Web Cơ Bản
-
Điều Kiện EXISTS Trong SQL Server - Phần Mềm FREE
-
Các Toán Tử Trong SQL Server - Học Phân Tích Dữ Liệu ... - MasterMOS
-
NOT IN AND NOT EXISTS IN SQL - My Blog – My Favourite
-
Toán Tử Trong SQL - Học Sql Cơ Bản đến Nâng Cao - VietTuts
-
IN So Với EXISTS - W3seo Sự Khác Biệt Của In Và Exist Trong SQL
-
3 Loại Toán Tử Trong SQL Ai Cũng Cần Biết
-
Tối ưu Hóa Câu Lệnh SQL - Viblo
-
Nguyên Nhân Và Cách Tối ưu Câu Truy Vấn SQL Trong Lập Trình