CodeBlanks Logo Icon CodeBlanks

EXISTS nedir?

Bir alt sorgunun satır döndürüp döndürmediğini saptamayı öğrenirsin.

EXISTS nedir?

EXISTS alt sorgunun en az bir satır döndürüp döndürmediğini denetler. Doğru ya da yanlış verir.

SELECT name FROM customers c
WHERE EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);

Bu sorgu siparişi olan müşterileri verir.

customers c kaynağından name seçilir. WHERE EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id) koşulunu sağlamayan satırlar elenir.

EXISTS nedir? — ayrıntı

EXISTS bir ilişkili alt sorgudur. İlk satırı bulunca durur, bu yüzden hızlıdır.

Alt sorgunun hangi sütunları döndürdüğü önemli değildir; bu yüzden genellikle SELECT 1 yazılır, yalnızca satır olup olmadığına bakılır.

Uygulama EXISTS nedir?

Siparişi olan müşterileri EXISTS ile bul.

Başlangıç kodu

query.sql
-- siparişi olanlar
SELECT name FROM customers c
WHERE

Örnek çözüm

query.sql
SELECT name FROM customers c
WHERE EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);

Beklenen çıktı

name
Ayşe
Mehmet

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 EXISTS ne döndürür?

  • Değer
  • Sayı
  • Tablo
  • Doğru/yanlış Doğru cevap

Açıklama: EXISTS doğru ya da yanlış döndürür.

2 EXISTS ekle

Soru
SELECT name FROM customers c
WHERE ____ (SELECT 1 FROM orders o WHERE o.customer_id = c.id);
Cevap
SELECT name FROM customers c
WHERE EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);

Açıklama: EXISTS alt sorgu en az bir satır döndürüyorsa doğrudur; siparişi olan müşterileri bulur.

3 EXISTS nedir: kavramları eşleştir

Kavram Anlamı
EXISTS varlık
alt sorgu iç sorgu
doğru evet
yanlış hayır

Orta seviye bölümündeki tüm dersler