SQL Ders35 - JOIN
SQL'de JOIN 2 veya daha fazla tabloyu birleştirmek için kullanılır. Bu birleştirme işlemi UNION da olduğu gibi düşey değil yatay bir biçimdedir. Dolayısıyla UNION operatöründeki gibi tabloların aynı kolonlara sahip olması gerekmez.
JOIN türleri
- Inner
- Left Outer
- Right Outer
- Full Outer
- Self
r1 tablosu
r2 tablosu
İki veya daha fazla tablonun kesişimini alır.
SELECT kolon_ismi FROM tablo_ismi INNER JOIN tablo_ismi2 ON kolon_ismi=kolon_ismi2 |
SqlQuery35.sql
SELECT * FROM r1 INNER JOIN r2 ON r1.id=r2.id;
Left Outer Join
İki tablo ile işlem yapıldığı düşünülürse ilk tablonun tamamını, ikinci tablonun ise ilk tabloyla eşleşen kısımlarını alır.
SELECT kolon_ismi FROM tablo_ismi LEFT JOIN tablo_ismi2 ON kolon_ismi=kolon_ismi2 |
SqlQuery35_2.sql
SELECT * FROM r1 LEFT JOIN r2 ON r1.id=r2.id;
Right Outer Join
İki tablo ile işlem yapıldığı düşünülürse ikinci tablonun tamamını, ilk tablonun ise ikinci tabloyla eşleşen kısımlarını alır.
SELECT kolon_ismi FROM tablo_ismi RIGHT JOIN tablo_ismi2 ON kolon_ismi=kolon_ismi2 |
SqlQuery35_3.sql
SELECT * FROM r1 RIGHT JOIN r2 ON r1.id=r2.id;
Full Outer Join
İki tablo ile işlem yapıldığı düşünülürse iki tablonun da tamamı alınır.
SELECT kolon_ismi FROM tablo_ismi FULL JOIN tablo_ismi2 ON kolon_ismi=kolon_ismi2 |
SqlQuery35_4.sql
SELECT * FROM r1 FULL JOIN r2 ON r1.id=r2.id;
Self Join
İki tablo ile işlem yapıldığı düşünülürse tablodaki her elemanı diğer tablodaki her elemanla birleştirerek kartezyen çarpımını alır.
SELECT kolon_ismi FROM tablo_ismi, tablo_ismi2; |
SqlQuery35_5.sql
SELECT * FROM r1,r2;
En açık, kısa ve anlaşılabilir sizin içeriğiniz teşekkürler
YanıtlaSil