Sezgiler WP Theme

Koyu Açık
Sql Ders Notları 7 – Ödev Arşivi Sql Sorgulama Dersleri

UNION SÖZCÜĞÜ:

UNION            BİRLEŞİM

TANIM:İki ayrı SEÇ komutunun sonucunda elde edilen  tabloların birleşimi işlemini gerçekleştirir.

ÖRNEK:Adı Ahmet ve Soyadı Caner olan kişi yada kişileri işletmenin yürüttüğü projelerde çalışan bir kişi (sıradan bir personel yada bölüm yöneticisi)olarak bulunduran projelerin isimlerini ve projelerin yürütüldüğü yerleri listele.

(SELECT proj_ad,yer                                                (SEÇ proj_ad,yer

FROM proj,bölüm,personel                                      GELİŞ  proj,bölüm,personel

WHERE  bl_no=bölüm_no AND                             OLAN bl_no=bölüm_no VE

y_sos gno = sosy_g_no                                               y_sos gno = sosy_g_no

AND ad =”Ahmet”AND soyad =”Caner”)              VE ad =”Ahmet” VE  soyad =”Caner”)

UNION (SELECT proj_ad,yer                                 BİRLEŞİM (SEÇ proj_ad,yer

FROM proje,çalışma,personel                                   GELİŞ proje,çalışma,personel

WHERE proj_no = proje_no AND                           OLAN proj_no = proje_no VE

Per_s_g_no = sosy_g_no AND ad =”Ahmet”          Per_s_g_no = sosy_g_no VE  ad =”Ahmet”

AND soyad =”Caner”)                                              VE  soyad =”Caner”)

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  *                                                                 SEÇ  *

FROM personel                                                         GELİŞ personel

WHERE  brüt < ANY                                                OLAN brüt < HER HANGİ BİRİ

(SELECT brüt                                                            (SEÇ brüt

FROM personel                                                         GELİŞ personel

WHERE böl_no = 2)  AND                                       OLAN böl_no = 2) VE

böl_no =1;                                                                  böl_no = 1;

EŞ DEĞERİ İFADE:

SELECT  *                                                                 SEÇ  *

FROM  personel                                                        GELİŞ  personel

WHERE brüt  <  (SELECT MAX (brüt )                 OLAN brüt < (SEÇ ÜST (brüt )

FROM personel                                                         GELİŞ personel

WHERE böl_no = 2) AND  böl_no =1;                    OLAN böl_no = 2)VE  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  *                                                             SEÇ  *

FROM   personel                                                    GELİŞ   personel

WHERE brüt >                                                       OLAN  brüt >

ALL (SELECT  brüt                                               HERSİ (SEÇ brüt

FROM  personel                                                     GELİŞ  personel

WHERE böl_no = 1)                                               OLAN  böl_no =1)

AND böl_no = 2;                                                     VE böl_no =2;

2)SELECT   *                                                            SEÇ    *

FROM   personel                                                    GELİŞ  personel

WHERE brüt  >                                                      OLAN  brüt  >

(SELECT  MAX  (brüt)                                          (SEÇ  ÜST (brüt)

FROM  personel                                                     GELİŞ  personel

WHERE böl_no = 1)                                               OLAN böl_no = 1)

AND böl_no =2;                                                      VE  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  *                                                                 SEÇ  *

FROM  satıcı                                                              GELİŞ satıcı

WHERE   EXISTS                                                    OLAN  MEVCUT

(SELECT  *                                                                  (SEÇ  *

FROM  par_sat                                                             GELİŞ  par_sat

WHERE  sat_no = satıcı_n                                           OLAN  sat_no = satıcı_n

AND  parça_n =27);                                                     VE  parça_n = 27);

İçerik için yorum bulunamadı.
Cevap yaz: