Mari kita buat Tabel dbo.Customer dan dbo.Country lalu gunakan EXISTS untuk mengembalikan catatan untuk skenario yang berbeda.
Create table dbo.Customer (Id int, FName VARCHAR(50), LName VARCHAR(50), CountryShortName CHAR(2), Age tinyint) GO insert into dbo.Customer Values ( 1,'Raza','M','PK',20), (2,'Rita','John','US',12), (3,'Sukhi','Singh',Null,25), (4,'James','Smith','CA',60), (5,'Robert','Ladson','US',54), (6,'Alice','John','US',87), (7,'Raza','M','US',33), (8,'Dita','M','US',15), (9,'Adita','M','US',29) Create table dbo.Country ( CId tinyint, CountryName VARCHAR(50), CountryShortName CHAR(2)) go Insert into dbo.Country Values (1,'Pakistan','Pk'), (2,'United States of America','US')
1) EXISTS akan mengembalikan TRUE jika subquery berisi baris apa pun.
Itu benar, jika subquery kami akan mengembalikan setiap baris dan kami telah menggunakan EXISTS, kueri luar akan mengembalikan semua baris.
Pilih * dari dbo.Pelanggan
WHERE Exists ( Select 1)
Cara menggunakan EXISTS di SQL Server - Tutorial SQL Server / TSQL |
Perhatikan bahwa subquery kami adalah kueri statis ( Pilih 1). Seperti yang dilakukan subquery mengembalikan baris dan EXISTS mengembalikan TRUE sehingga semua catatan dari tabel dbo.Customer ditampilkan.
2) Gunakan EXISTS dan Gabung dengan SubQuery
Contoh EXISTS yang lebih real time adalah ketika kita ingin menemukan semua record dari tabel dbo.Customer yang memiliki CountryShortName yang cocok dari dbo.Country Table.
SELECT * FROM dbo.Customer a WHERE EXISTS (SELECT 1 FROM dbo.Country b WHERE a.CountryShortName=b.CountryShortName)
Perhatikan bahwa saya telah membandingkan CountryShortName dari dbo.Customer dan dbo.Country. Setiap baris terluar akan dibandingkan dengan hasil subquery dan jika cocok maka kita mendapatkan baris tersebut.
Kita dapat menggunakan klausa IN untuk kebutuhan yang sama.
SELECT * FROM dbo.Customer a WHERE a.CountryShortName IN (SELECT b.CountryShortName FROM dbo.Country b WHERE a.CountryShortName=b.CountryShortName)
Cara menggunakan EXISTS di SQL Server untuk mengembalikan catatan yang cocok - Tutorial SQL Server / TSQL |
Cara menggunakan Exists dan Not Exit di SQL Server