- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
- [VB.NET] Gởi tin nhắn và file đính kèm qua ứng dụng gởi tin nhắn Whats App
[SQLSERVER] Hướng dẫn sử dụng hàm NOT EXISTS trong sql
Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách sử dụng hàm NOT EXISTS trong sqlserver.
Trong SQL Server (Transact-SQL) điều kiện EXISTS được dúng để kết hợp với truy vấn nội bộ (subquery).
Điều kiện được đáp ứng nếu truy vấn nội bộ trả về ít nhất 1 hàng.
Điều kiện này có thể dùng trong lệnh SELECT, INSERT, UPDATE hoặc DELETE.
Cú Pháp:
WHERE EXISTS ( subquery);
Tên biến hoặc giá trị biến
subquery
Subquery - truy vấn nội bộ là một lệnh SELECT. Nếu truy vấn này trả về ít nhất 1 bản ghi trong bộ kết quả thì mệnh đề EXISTS được đánh giá là đúng và điều kiện EXISTS được đáp ứng. Nếu truy vấn nội bộ không trả về bản ghi nào, mệnh đề EXISTS được đánh giá là sai và điều kiện EXISTS không được đáp ứng.
Lưu ý
Sử dụng điều kiện EXISTS không hiệu quả do truy vấn nội bộ RE-RUN (chạy lại) trên mỗi hàng trong bảng ở truy vấn ngoài. Có nhiều cách hiệu quả hơn mà không cần dùng điều kiện EXISTS.
Ví dụ - với lệnh SELECT
Lệnh SELECT dùng với điều kiện EXISTS như dưới đây.
SELECT *
FROM nhanvien
WHERE EXISTS (SELECT *
FROM danhba
WHERE nhanvien.ho = danhba.ho
AND nhanvien.ten = danhba.ten);
Ví dụ này sẽ trả về tất cả các bản ghi từ bảng nhanvien khi có ít nhất 1 bảng ghi trong bảng danhba có họ và tên khớp với họ và tên trong bảng nhanvien.
Ví dụ - lệnh SELECT dùng NOT EXISTS
Điều kiện EXISTS có thể kết hợp với toán tử NOT.
SELECT *
FROM nhanvien
WHERE NOT EXISTS (SELECT *
FROM danhba
WHERE nhanvien.ho = danhba.ho
AND nhanvien.ten = danhba.ten);
Kết quả trả về là tất cả các bản ghi trong bảng nhanvien nếu không có bản ghi họ và tên nào trong bảng danhba khớp với họ và tên trong bảng nhanvien.
Ví dụ - lệnh INSERT
Đây là ví dụ dùng lệnh INSERT với điều kiện EXISTS
INSERT INTO danhba
(danhba_id, danhba_ten)
SELECT nhacung_id, nhacung_ten
FROM nhacung
WHERE EXISTS (SELECT *
FROM donhang
WHERE nhacung.nhacung_id = donhang.nhacung_id);
Ví dụ - lệnh UPDATE
Dưới đây là ví dụ lệnh UPDATE dùng điều kiện EXISTS.
UPDATE nhacung
SET nhacung_ten = (SELECT khachhang.ten
FROM khachhang
WHERE khachhang.khachhang_id = nhacung.nhacung_id)
WHERE EXISTS (SELECT khachhang.ten
FROM khachhang
WHERE khachhang.khachhang_id = nhacung.nhacung_id);
Ví dụ - lệnh DELETE
Lệnh DELETE cũng có thể dùng với điều kiện EXISTS như dưới đây.
DELETE FROM danhba
WHERE EXITS (SELECT *
FROM nhanvien
WHERE nhanvien.ho = danhba.ho );
laptrinhvb via quantrimang.com