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
sql join
 r1 tablosu

sql join
 r2 tablosu

Inner Join

İ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;

sql join

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;

sql join

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;

sql join

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;

sql join

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;

sql join

Yorumlar

Bu blogdaki popüler yayınlar

SQL Ders23 - OR

SQL Ders17 - SELECT AS

SQL Ders20 - SELECT NULL