Baz uygulamalarda veri birden fazla tablo zerinde yer alabilir. Bu tablo verileri birletirilerek sonular elde edilir.
PERSONEL_NO ADI BLM_NO BLM_NO BLM_ADI KONUM
PERSONEL_NO BLM_NO KONUM
TABLOLARIN BRLETRLMES Birden fazla tabloyu ele alarak, birletirilmesi ve tek bir sonucun retilmesi durumunda birletirme (join) ilemi uygulanr. SELECT tablo1.stun1, tablo2.stun2 FROM tablo1,tablo2 WHERE tablo1.stun1=tablo2.stun2
ki tabloyu birletirmek iin bir birletirme koulunun
dzenlenmesi gerekir. Bu koul, her iki tablonun hangi stunlar kullanlarak birletirileceini belirler.
Sadece iki tablo deil n sayda tablo birletirilebilir. Ancak
bu durumda en az (n-1) birletirme koulu tanmlanmaldr. KARTEZYEN ARPIM ki tablo arasnda birletirme koulu tanmlanmam ise sonu olarak bir kartezyen arpm elde edilir.
rnek: PERSONEL ve BLM tablolarn
birletirmek iin:
SELECT PERSONEL_NO, ADI, BLM_ADI
FROM PERSONEL, BLM;
Bir birletirme koulu tanmlanmad iin, her iki
tablodaki satrlarn saysnn birbirleriyle arpm kadar satrdan oluan bir sonu elde edilir. BRLETRME TRLER Tablolar farkl ekillerde birletirme olana bulunmaktadr.
Eiti olan birletirme
Eiti olmayan birletirme
D birletirme
Kendine birletirme ET OLAN BRLETRME PERSONEL ADI BLM_NO BLM_NO BLM_AD KONUM _NO I
D anahtar Birincil anahtar
Bir personelin alt blmn adn elde etmek iin ,
PERSONEL tablosunun BLM tablosunun BLM_NO isimli stununun ierii ile karlatrlr.
SELECT PERSONEL.PERSONEL_NO, PERSONEL.ADI,
PERSONEL.BLM_NO, BLM.BLM_ADI, BLM.KONUM FROM PERSONEL, BLM WHERE PERSONEL.BLM_NO=BLM.BLM_NO; ET OLAN BRLETRME Farkl tablolardan alnan stun isimlerinde benzerlik olduunda SQL bunu ayrd edemeyeceinden,muhakkak banda tablo ismiyle arlmaldr. Bazen sorgu cmlelerinin ksaltlmas maksadyla tablo isimleri daha ksa isimlerle yeniden adlandrlr.
SELECT P.PERSONEL_NO, P.ADI, P.BLM_NO,
B.BLM_ADI, B.KONUM FROM PERSONEL P, BLM B WHERE P.BLM_NO=B.BLM_NO; ET OLMAYAN BRLETRME Eer birinci tablonun bir stununa, ikinci tabloda dorudan uyan bir stun yoksa, eit olmayan birletirmeden sz edilir.
FROM PERSONEL,ST_DZEY WHERE CRET BETWEEN ENAZ AND ENOK; DI BRLETRME Eiti olan birletirmede eleen stunlarda eleemeyen kaytlar yazlmyordu, bunlar da yazdrmak iin D Birletirme kullanlr.
rnek: BLM tablosunda yer alan ancak PERSONEL
tablosunda yer almayan ve REKLAM bilgisini ieren bir satr bulunmaktadr. Bu iki tabloyu karlamayan kaytlar da grntleyecek biimde birletirmek ve sonucu listelemek iin:
SELECT P.ADI, P.BLM_NO, B.BLM_ADI FROM
PERSONEL P RIGHT JOIN BLM B ON P.BLM_NO=B.BLM_NO; KENDNE BRLETRME Baz uygulamalarda birletirme ilemi tek bir tablonun kendi stunlar ierisinde yaplmaktadr. PERSONEL tablosunu iki farkl tablo biiminde dnebiliriz.
PERSONEL_ ADI YNETCS PERSONEL_ ADI
NO NO
101 BURAK 101 BURAK
250 ERSN 101 250 ERSN 160 AHMET 101 160 AHMET 150 AYBKE 101 150 AYBKE KENDNE BRLETRME rnek: PERSONEL tablosunun YNETCS balkl stunu, her bir personelin yneticisinin personel numarasn iermektedir. Hangi yneticinin hangi personelle altn belirlemek iin:
SELECT P.PERSONEL_NO AS NO,
P.ADI AS PERSONEL, Y.ADI AS YNETCS FROM PERSONEL P, PERSONEL Y WHERE Y.PERSONEL_NO= P.YNETCS; KME OPERATRLERN KULLANARAK BRLETRME
UNION ve UNION ALL ileleri
Union, verilen koul ifadesine uygun olarak, ift kaytlarn gz ard edilerek her iki kmedeki tm kaytlar seer. Union All, ift kaytlar da dahil eden birletirme ilemidir.
rnek: PERSONEL tablosunda, ad A ile balayanlar veya
grevi M ile balayanlar topluca listelemek iin:
SELECT Ad,Grevi FROM PERSONEL
WHERE Ad LIKE A* UNION SELECT Ad, Grevi FROM PERSONEL WHERE Grevi LIKE M*;