UNION SÖZCÜĞÜ
UNION sözcüğü küme birleşimi işlemi görür.İki ayrı SELECT komutunun
sonucunda elde edilen tabloların birleşimi gerçekleştirilir.
UNION sözcüğü ile,iki yada daha çok SELECT in sonucu olan tabloların
küme birleşimine tabi tutulması için iki koşul gereklidir:
5 kolan
5 kolon
ANY SÖZCÜĞÜ:
Bu çözümün eşdeğeri olan ifade ise şöyledir:
Burada satış bölümü kodu 2 ve mühendisli bölümü kodu ise 1 olarak
kabul edilmiştir.İkinci çözüm ifadesinden de kolay anlaşılacağı gibi
içiçe SELECT ifadesinde,içteki SELECT sorgulaması sonucu, ANY (herhangi bir) sözcüğü yerine,tamamen eşdeğeri olan SOME sözcüğü de kullanılabilir.
'Hepsi tamamı' anlamındaki bu sözcük,SELECT komutu içerisinde
belirli bir koşulu sağlayan bir grup datanın tamamınca,sağlayan
koşullarla ilişkili olarak kullanılır.Aşağıdaki soru bu konuda
açıklayıcı olacaktır:
Personel tablosu aşağıdaki gibi ise;
Yukarıda 1.yol ve 2.Yol alternatif olarak belirtilen,her iki SELECT
komutları grubu da aşağıdaki sonucu verecektir:
'Var mevcuttur'anlamımdaki bu sözcük,SQL‘de bir Boolean
(lojik,mantıksal) operatördür.İçteki SELECT komutunun sorgulaması
sonucunda, en az bir tablo satırı üretilmişse EXIST operatörü true
(doğru) değerini,hiçbir tablo satırı üretilmişse,EXIST operatörü
false (yanlış) değerini üretir.
Parça ve satış ilgili tablo (Par_sat)
Sonuç:
Yukarıda belirtildiği gibi,iç SELECT‘te WHERE‘i izleyen koşulu sağlayan satırlar,par_sat içinde bulundukça (mevcut iseler) EXISTS operatörü true (doğru) değeri verecek bu durumda dış SELECT‘in WHERE koşul kısmı doğru olacağı için,o satıcı ile ilişkili bilgiler,satıcı tablosunda listelenecektir. NOT EXISTS İFADESİAz önce söylendiği gibi EXISTS mantıksal operatörü,NOT;AND;OR mantıksal operatörleri ile birlikte de kullanılır. NOT EXISTS şeklinde kullanılması;içteki SELECT komutunun sorgulanması sonucu koşulu sağlayan hiçbir tablo satırı bulunamazsa,dıştaki SELECT için WHERE‘i izleyen koşul doğru olarak kabul edilir.Ve SELECT icra edilir. Örnek:27 nolu parçayı satmayan satıcılar kimlerdir? SELECT * FROM satici WHERE NOT EXISTS(SELECT * FROM par_sat WHRE sat_no=satici_n AND parca_n=27);
Satıcı_no Adı
Adresi
SELECT KOMUTU İÇİNDE EXCEPT SÖZCÜĞÜ
Tablo-1 - Tablo-2 işlemi sonucu (iki kümenin
farkı) elde edilecek tabloda,Tablo-12de bulunup,Tablo-2’de
bulunmayan veriler mevcut olacaktır.Bu işlem SQL’de Tablo-1 EXCEPT
Tablo-2 şeklinde ifade edilir ve sonuçta elde edilen far tablosu
aşağıdadır:
SELECT KOMUTU İÇİNDE INTERSECT SÖZCÜĞÜ Proje tablosundaki bilgi aşağıdaki gibi olsun;
Proje_Ad Proje_no Yer
Bl_no Yukarıdaki SELECT komutu sonucunda bulunan tablolar ile son adımda Bl_no
Bl_no
Bl_no Bir SELECT komutunun sonucu olarak elde edilecek bilgileri,geçici bir tablo olarak saklamak mümkündür.Bunu gerçekleştirmek için,SELECT komutunun sonuna SAVE TO TEMP tablo adı şeklinde bir ifade eklemek gerekmektedir. Örnek: Bayan personeli bayan adlı bir tablo içinde saklayınız? SELECT * FROM personel WHERE cins =.F.SAVE TO TEMP bayan; Cinsiyeti belirleyen cins alanında .F. simgesinin bayanları temsil ettiği varsayımı ile,personel adlı tablodaki bayan adlı tabloda geçici olarak saklanacaktır. Bayan adlı tabloya,SELECT komutu, bütün şekilleri ile uygulanabilir.Örneğin,bayanlar içinden brüt maaşı 10000000 TL.’ den fazla olanlar listelenmek istenirse: SELECT * FROM bayan WHERE brüt > 10000000; İfadesi kullanılabilir.Burada üretilen geçici değil kalıcı olması istenirse KEEP sözcüğü eklenmelidir. SELECT * FROM personel WHERE cins=.F. SAVE TO TEMP bayan KEEP; |