UNION, INTERSECT, EXCEPT
Uyumlu sonuç kümelerini UNION ile birleştirin, ortak satırları INTERSECT ile bulun ve farkı EXCEPT ile belirleyin.
UNION, INTERSECT, EXCEPT, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
Küme İşlemlerine Genel Bakış
Üç küme işleci, sonuç kümelerini satır satır birleştirir:
UNION— A VEYA B'deki satırlar (yinelenenler kaldırılır)INTERSECT— A VE B'deki satırlarEXCEPT— A'da olup B'de OLMAYAN satırlar
UNION
Yinelenenleri kaldırarak iki sonuç kümesini birleştirin:
SELECT email FROM users
UNION
SELECT email FROM newsletter_subscribers;Sütun Uyumluluğu
Her iki sorguda da aynı sayıda sütun bulunmalı ve sütun türleri uyumlu olmalıdır:
-- OK:
SELECT email FROM users UNION SELECT email FROM customers;
-- ERROR — different column count:
SELECT email FROM users UNION SELECT email, name FROM customers;INTERSECT
Her iki sorguda da bulunan satırlar:
SELECT product_id FROM orders WHERE user_id = 1
INTERSECT
SELECT product_id FROM orders WHERE user_id = 2;
-- Products bought by BOTH users.EXCEPT
İlk sorguda olup ikinci sorguda bulunmayan satırlar:
SELECT product_id FROM products
EXCEPT
SELECT product_id FROM order_items;
-- Products never ordered.Küme İşleçleriyle ORDER BY
ORDER BY, birleştirilmiş sonucun tamamına uygulanır. Sona yerleştirin:
SELECT email FROM users
UNION
SELECT email FROM customers
ORDER BY email;Küme İşleçleri ve NULL Değerleri
Küme işlemlerinde iki NULL eşit kabul edilir — UNION bunları yinelenen olarak kaldırır, INTERSECT ise eşleştirir. (WHERE içindeki NULL = NULL ifadesinden farklıdır.)
Alt Sorgularda Küme İşleçleri
Alt sorguları açıklık için parantez içine alın ve LIMIT ile birleştirin:
(SELECT id FROM users ORDER BY created_at DESC LIMIT 10)
UNION
(SELECT id FROM users ORDER BY total DESC LIMIT 10);İşleç Önceliği
INTERSECT, UNION/EXCEPT'ten daha güçlü bağlanır. Parantez kullanın:
SELECT id FROM a
UNION
SELECT id FROM b
INTERSECT
SELECT id FROM c;
-- means: a UNION (b INTERSECT c)
-- Use parens to force order:
(SELECT id FROM a UNION SELECT id FROM b) INTERSECT SELECT id FROM c;Performans
UNION, yinelenenleri kaldırmak için sıralama yapar. INTERSECT ve EXCEPT de benzer işlemler gerçekleştirir. Büyük kümelerde JOIN/EXISTS kalıplarını tercih edin ve küme işlemlerini yalnızca anlamları açıkça uygun olduğunda kullanın.
Standart SQL ve Üretici Farklılıkları
Üçü de PostgreSQL'de bulunur. MySQL, INTERSECT ve EXCEPT'i yalnızca 8.0.31 sürümünde ekledi; daha eski sürümler bunları JOIN/NOT IN ile taklit eder.
Özet
Küme işleçleri, satırlar üzerinde OR/AND/MINUS işlemlerini ifade eder.
- UNION — birleştirir + yinelenenleri kaldırır
- INTERSECT — ortak satırlar
- EXCEPT — A eksi B
Kısa Kontrol
"A'da olup B'de OLMAYAN satırları" hangi küme işleci döndürür?
Sıkça Sorulan Sorular
“UNION, INTERSECT, EXCEPT” dersi ücretsiz mi?
Evet — “UNION, INTERSECT, EXCEPT” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“UNION, INTERSECT, EXCEPT” dersinde ne öğreneceğim?
Uyumlu sonuç kümelerini UNION ile birleştirin, ortak satırları INTERSECT ile bulun ve farkı EXCEPT ile belirleyin. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“UNION, INTERSECT, EXCEPT” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- UNION, INTERSECT, EXCEPT
- UNION ALL ve UNION Karşılaştırması (Tekilleştirme Maliyeti)
- CASE İfadeleri ve Özet Tablo Sorguları
- Çapraz Tablo Kalıpları (PostgreSQL crosstab())