KOŞULLAR:
UNION (BİRLEŞİM) sözcüğü ile ,iki yada daha çok kişi SELECT (SEÇ)’in sonucu olan tabloların küme birleşimi işlemine tabi tutulması için 2 koşul gereklidir.
1)SELECT (SEÇ) komutları sonucunda elde edilecek tablolar aynı sayıda kolon içermelidirler.
2)Sonuç tabloları karşılıklı olarak kolonların aynı veri tipi ve aynı genişlikte olmalıdır.
ANY :
ANY HER HANGİ BİRİ
ÖRNEK: Satış bölümünde çalışan personelin her hangi birinden daha düşük maaş alan ve mühendislik bölümündeki kişileri listele.
SELECT * FROM personel WHERE brüt < ANY (SELECT brüt FROM personel WHERE böl_no = 2) AND böl_no =1
EŞ DEĞERİ İFADE:
SELECT * FROM personel WHERE brüt < (SELECT MAX (brüt ) FROM personel WHERE böl_no = 2) AND böl_no =1
ALL:
ALL HEPSİ
ÖRNEK:Satış bölümünde çalışan ve mühendislik bölümündeki personelin hepsinden daha fazla maaş alan personeli listele.Bu örnekte satış bölümü kodu = 2 ve mühendislik bölümü kodu = 1 alınmıştır.
YAPILIŞ YOLU:
1)SELECT * FROM personel WHERE brüt>ALL (SELECT brüt FROM personel WHERE böl_no = 1) AND böl_no = 2
2)SELECT * FROM personel WHERE brüt > (SELECT MAX(brüt) FROM personel WHERE böl_no = 1) AND böl_no =2
EXISTS:
EXISTS MEVCUT
VE ,VEYA ,DEĞİL operatörleri ile kullanılabilir.
ÖRNEK: 27 no’lu parçayı satan satıcılarla ilişkili tüm bilgileri listele.
SELECT * FROM satıcı WHERE EXISTS (SELECT * FROM par_sat WHERE sat_no = satıcı_n AND parça_n =27);
NOT EXISTS:
NOT EXISTS MEVCUT DEĞİL
VE ,VEYA ,DEĞİL operatörleri ile kullanılabilir.
ÖRNEK: 27 no’lu parçayı satmayan satıcılar kimlerdir?
SELECT *FROM satıcı WHERE NOT EXISTS (SELECT * FROM par_sat WHERE sat_no = satıcı_n AND parça_n=27);
EXCEPT:
EXCEPT FARKLI
Tablo-1 - Tablo-2 işlemi sonuç(iki kümenin farkı) elde edilecek tabloda,Tablo-1’de bulunup, Tablo-2’de bulunmayan veriler mevcut olacaktır.
ÖRNEK:Satış bölümündeki personel adlarından,mühendislik bölümünde bulunmayanları listele.
SELECT * FROM (SELECT ad FROM personel WHERE bol_no=1 EXCEPT SELECT ad FROM personel WHERE bol_no=2);
INTERSECT:
INTERSECT KESİŞİM
ÖRNEK: Hem Ankara’da,hem de İstanbul’daki projelerde görev alan bölümleri listele.
SELECT * FROM (SELECT bl_no FROM proje WHERE yer LIKE “%Ankara%” INTERSECT SELECT bl_no FROM proje WHERE yer LIKE “%İstanbul%”);
SAVE TO TEMP:
SAVE TO TEMP SAKLA
ÖRNEK: Bayan personeli,bayan adlı bir tablo içinde sakla.
SELECT * FROM personel WHERE cins =.F. SAVE TO TEMP bayan
KEEP:
KEEP KALICI
SELECT * FROM personel WHERE cins = .F. SAVE TO TEMP bayan KEEP