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 » Câu Lệnh Exit Trong Sql
-
Điều Kiện EXISTS Trong SQL Server
-
Toán Tử EXISTS Trong SQL Server - Comdy
-
Toán Tử EXISTS Trong SQL - BAC
-
SQL Server: EXISTS Và NOT EXISTS - V1Study
-
Lệnh EXISTS Trong MySQL - Web Cơ Bản
-
[DATABASE] Sử Dụng Câu Lệnh DROP IF EXISTS Trong Sqlserver ...
-
[Tự Học SQL] Tìm Hiểu Về Toán Tử EXISTS, ANY Và ALL Với SELECT ...
-
Câu Lệnh SQL EXISTS Hoạt động Như Thế Nào? - HelpEx
-
Làm Thế Nào để Sử Dụng DROP NẾU TỒN TẠI Trong SQL Server?
-
Sự Khác Biệt Giữa EXISTS Và IN Trong SQL? - HelpEx
-
Tổng Quan Về Câu Lệnh T-SQL If Exists Trong Cơ Sở Dữ Liệu SQL Server
-
Phân Biệt NOT IN Và NOT EXISTS Trong SQLServer - Nắng Thủy Tinh
-
Loops In PL/SQL - Viblo
-
[PDF] Bài Thực Hành Số 4 PL/SQL (1)