SQL Join, T-SQL Join İşlemleri, Left Outer Join, Right Outer Join, Inner Join


Temmuz 2021 (0) Iptv 25.10.2021


Bu yazımda SQL Join,T-SQL Join İşlemleri,Left Outer Join,Right Outer Join,Inner Join,T-SQL Join, SQL Join ile sorgulama yapmayı anlatacağım. Verilerin birbiriyle bağlanması (join) sıkça yapılan bir işlemdir. Yeni başlayan birisi için joinler tam birer kargaşadan ibarettir. Konuyu kavrayabilmeniz adına kümelerden esinlenerek anlatacağım. Yapacağınız işleme göre bu makaleden size en uygun olanı rahatlıkla seçebilecek ve kullanabileceksiniz. İşlemleri gerçek veritabanında deneyecekseniz yedek almayı unutmayın. Şimdi sözü fazla uzatmadan asıl konumuza geçelim...

  • Inner Join
  • Left Join
  • Right Join
  • Cross Join
  • Self Join
  • Inner Join


Kümelerdeki karşılığı kesişimdir. Yani her iki tabloda olan veriler gelir.

joinler_innerjoin

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;veyaSELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;Not: Inner join ile join aynı işi yapar.Örnek: Bu sorgu ile hangi ürünün hangi firmadan alındığını bulmak istiyoruz:SELECT PRODUCTNAME,COMPANYNAME
FROM PRODUCTS AS P
INNER JOIN SUPPLİERS AS S ON S.SUPPLİERID=P.SUPPLİERID;

Left Join


Kümelerde sol tarafta olan küme demektir. Yani table 1 tablosundakiler koşulsuz gelir, table 2 tablosundan eşleştirebildiklerini (bu kısımlar kesişim bölümüne karşılık gelir) getirir, eşleştiremezse o alanları NULL olarak getirir.

join leftjoin

SQL LEFT JOIN Syntax:SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;veyaSELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;

Right JoinKümelerde sağ taraftaki kümedir. Table 2 tablosundaki veriler koşulsuz gelir, Table 1 tablosundan eşleştirebildiklerini (bu kısımlar kesişim bölümüne karşılık gelir) getirir, eşleştiremezse o alanları NULL olarak getirir.

join rightjoin

SQL RIGHT JOIN Syntax:SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;VEYASELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name=table2.column_name;
Örnek:SELECT * FROM ORDERS AS O
RIGHT OUTER JOIN CUSTOMERS AS C ON C.CUSTOMERID=O.CUSTOMERID;

Cross Join

Cross Join ile bağladığımız tüm tablolar herhangi bir kısıtlamaya uğramadan tüm eşleşmeler listelenir.

Söz dizimi :
SELECT * FROM table1 CROSS JOIN table2;

Örnek:
SELECT * FROM Categories CROSS JOIN Region;



.

Self Join

Bir tablonun kendisiyle işleme tutulmasına Self Join denir. Tabloda aynı değerleri içeren farklı kayıtlar varsa o tablo için farklı takma isimler kullanılarak join işlemi gerçekleştirilir. Bu yöntem çok kullanılan bir yöntem değildir.

Örnek:

SELECT a.EmployeeID AS SicilNo,a.lastname,a.title
,b.EmployeeID AS AltSicilNo, b.lastname ,b.title
FROM employees AS a
INNER JOIN employees AS b
ON a.title=b.title
WHERE a.EmployeeID < b.EmployeeID
ORDER BY a.EmployeeID;

Bu sorguda aynı tabloyu kendisiyle birleştirdik.
SELF JOIN işlemini aynı değerleri olan farklı kayıtlar üzerinde işlem yaparken kullanmalıyız.


Yorum yapabilmek için giriş yapınız

Giriş Yap