NOT EXISTS
- SQL kursu
- Orta seviye
- Ders 54/115
- 4 dk
Bir koşula uymayan kayıtları bulmayı öğrenirsin.
NOT EXISTS
NOT EXISTS alt sorgunun hiç satır döndürmediğini denetler. Anti-join yerine geçer.
SELECT name FROM customers c
WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);Bu sorgu siparişi olmayan müşterileri verir.
customers c kaynağından name seçilir. WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = … koşulunu sağlamayan satırlar elenir.
NOT EXISTS — ayrıntı
NOT EXISTS ile 'olmayan' kayıtları bulursun. LEFT JOIN ... IS NULL'a alternatiftir.
Örneğin WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id) hiç sipariş vermemiş müşterileri bulur.
Uygulama NOT EXISTS
Siparişi olmayan müşterileri NOT EXISTS ile bul.
Başlangıç kodu
-- sipariş yok
SELECT name FROM customers c
WHEREÖrnek çözüm
SELECT name FROM customers c
WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);Beklenen çıktı
name Fatma Ali
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 NOT ekle
SELECT name FROM customers c
WHERE ____ EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);
SELECT name FROM customers c
WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);
Açıklama: NOT EXISTS alt sorgu hiç satır döndürmüyorsa doğrudur; siparişi olmayan müşterileri bulur.
2 NOT EXISTS ne bulur?
- Olmayanı Doğru cevap
- Olanı
- Tümünü
- Birini
Açıklama: NOT EXISTS olmayan kayıtları bulur.
3 NOT EXISTS: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
NOT EXISTS |
olmayan |
EXISTS |
varlık |
anti-join |
eksik kayıt |
NULL |
boş |