Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara menggunakan Operator Logika EXISTS di SQL Server - Tutorial SQL Server / TSQL Bagian 125

Exists mengembalikan TRUE jika subquery berisi baris apa pun. EXISTS digunakan ketika kita ingin menguji keberadaan baris yang ditentukan oleh subquery.

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa itu SQL Operations Studio (SQLOPS)?

  2. Berikan Pilih pada tampilan bukan tabel dasar ketika tabel dasar berada di database yang berbeda

  3. Hubungkan ke SQL Server melalui PDO menggunakan SQL Server Driver

  4. Kembalikan Nomor Partisi untuk Setiap Baris Saat Membuat Kueri Tabel yang Dipartisi di SQL Server (T-SQL)

  5. Tambahkan IIS 7 AppPool Identities sebagai SQL Server Logos