AND etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
AND etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
  • Bazı durumlarda sorgu sonucu dönen listeyle ilgili değilde herhangi bir değer dönüp dönmediyle ilgileniriz. 
  • İşte böyle durumlarda EXISTS ve NOT EXISTS kullanırız. 
  • EXISTS ve NOT EXISTS kullanımı TRUE veya FALSE değerleri döndürür.
Örnek: Birinci sorguda ‘3/05/1997’ ve '4/05/1997' tarihleri arasında sipariş almış olan çalışanlar EXIST işlevi yardımıyla tespit edilip, bilgileri listelenmiştir. Aynı sonuca tabloları JOIN ile birleştirerek te ulaşabiliriz. İkinci sorgudaki DISTINCT ifadesi her çalışanın tekbir kez görüntülenmesini sağlar.

Sorgu-1:
SELECT EmployeeId,LastName,FirstName
FROM Employees AS e
WHERE EXISTS 
(SELECT * FROM Orders AS o
     WHERE e.EmployeeId=o.EmployeeId
    AND o.OrderDate BETWEEN '3/5/1997' AND '4/5/1997')  


Sorgu-1:
SELECT DISTINCT FirstName,LastName, e.Employeeid
FROM
 Orders AS o
INNE
JOIN Employees AS e
ON
 o.Employeeid =e.Employeeid
WHERE
 o.OrderDate BETWEEN '3/5/1997' AND '4/5/1997'

SUBQUERİES- EXISTS ve NOT EXISTS Kullanımı