T-SQL Join İşlemleri


July 2021 (0) Iptv 4/25/2024


Merhaba,

Bu yazımda 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.

  • 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

Sitede Ara

ralfiSoft.com Download

DOWNLOADS