Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में EXISTS लॉजिकल ऑपरेटर का उपयोग कैसे करें - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 125

यदि किसी सबक्वेरी में कोई पंक्तियाँ हैं, तो Exists TRUE लौटाता है। EXISTS का उपयोग तब किया जाता है जब हम सबक्वेरी द्वारा निर्दिष्ट पंक्तियों के अस्तित्व के लिए परीक्षण करना चाहते हैं।>
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 TRUE लौटाएगा।

यह सही है, अगर हमारी सबक्वेरी किसी भी पंक्ति को वापस कर देगी और हमने EXISTS का उपयोग किया है, तो बाहरी क्वेरी सभी पंक्तियों को वापस करने जा रही है।

dbo से * चुनें। ग्राहक
WHERE Exists ( Select 1)
 
 
SQL सर्वर में EXISTS का उपयोग कैसे करें - SQL सर्वर / TSQL ट्यूटोरियल

ध्यान दिया कि हमारी सबक्वेरी स्थिर क्वेरी है (चुनें 1)। चूंकि सबक्वेरी ने पंक्ति लौटाई और EXISTS ने TRUE लौटाया, इसलिए dbo.Customer तालिका के सभी रिकॉर्ड प्रदर्शित होते हैं।

2) EXISTS का उपयोग करें और SubQuery के साथ जुड़ें
EXISTS का अधिक वास्तविक समय उदाहरण तब होगा जब हम dbo से सभी रिकॉर्ड ढूंढना चाहते हैं। ग्राहक तालिका जिसमें dbo.Country तालिका से कंट्रीशॉर्टनाम से मेल खाता है।

SELECT *
FROM dbo.Customer a
WHERE EXISTS
    (SELECT 1
     FROM dbo.Country b
     WHERE a.CountryShortName=b.CountryShortName)

ध्यान दिया कि मैंने CountryShortName की तुलना dbo.Customer और dbo.Count से की है। प्रत्येक बाहरी पंक्ति की तुलना सबक्वेरी परिणामों से की जाएगी और यदि मेल खाता है, तो हमें पंक्ति मिलती है।

हम समान आवश्यकता के लिए IN क्लॉज का उपयोग कर सकते हैं।

SELECT *
FROM dbo.Customer a
WHERE a.CountryShortName IN
    (SELECT b.CountryShortName
     FROM dbo.Country b
     WHERE a.CountryShortName=b.CountryShortName)
 
मिलान रिकॉर्ड वापस करने के लिए SQL सर्वर में EXISTS का उपयोग कैसे करें - SQL सर्वर / TSQL ट्यूटोरियल
 

एसक्यूएल सर्वर में एक्ज़िस्ट और नॉट एग्ज़िट का उपयोग कैसे करें

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर मानक संस्करण उच्च उपलब्धता फ्यूचर्स

  2. अद्यतन करें यदि मौजूद है तो SQL Server 2008 में INSERT करें

  3. कौन सा तेज COALESCE या ISNULL है?

  4. SQL सर्वर में VARCHAR/CHAR के बजाय हमें NVARCHAR/NCHAR का उपयोग कब करना चाहिए?

  5. इकाई डेटा ढांचे से ट्रिगर के बजाय तालिका में डालने पर त्रुटि