SQL JOIN Nedir?

SQL JOIN Nedir?

SQL JOIN, birden fazla tablodaki verileri birleştirmeye yarayan bir SQL komutudur. Veritabanları genellikle normalizasyon ilkesine dayanarak, verilerin mantıklı bir şekilde organize edilmesini sağlar. Bu, verilerin farklı tablolarda saklanması anlamına gelir. Birden fazla tabloyu sorgulamak ve ilişkilendirilmiş verileri almak için JOIN komutları kullanılır.

SQL JOIN’leri, verilerin nasıl birleştirileceğini belirlemek için kullanılır ve genellikle belirli bir “anahtar” (key) kullanarak bu birleştirme işlemi yapılır. Bu anahtar, genellikle iki tablodaki ortak sütunları içerir.

SQL JOIN Türleri

SQL’de beş temel JOIN türü vardır:

1. INNER JOIN

INNER JOIN, iki tabloyu birleştirirken yalnızca her iki tabloda da bulunan satırları getirir. Yani, yalnızca her iki tabloda da ortak olan veriler görüntülenir.

SELECT * 
FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;

Bu sorgu, customers ve orders tablolarındaki ortak customer_id değerlerine sahip tüm verileri getirir.

2. LEFT JOIN (LEFT OUTER JOIN)

LEFT JOIN, sol tablodaki tüm satırları alırken, sağ tablodaki eşleşen satırlara sahip olanları getirir. Eğer sağ tablodaki satırda eşleşme yoksa, sağ tablodan NULL değerleri döner.

SELECT * 
FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;

Bu sorgu, tüm customers tablosundaki verileri ve her bir müşteri için var olan siparişleri getirir. Siparişi olmayan müşterilere NULL değerler gösterilir.

3. RIGHT JOIN (RIGHT OUTER JOIN)

RIGHT JOIN, RIGHT OUTER JOIN olarak da bilinir, sağ tablodaki tüm satırları alır ve sol tablodan eşleşen satırları getirir. Eğer sol tabloda eşleşme yoksa, sol tablodan NULL değerleri döner.

SELECT * FROM customers RIGHT JOIN orders ON customers.customer_id = orders.customer_id;

Bu sorgu, tüm orders tablosundaki verileri ve her bir sipariş için var olan müşteri bilgilerini getirir. Müşterisi olmayan siparişlere NULL değerler döner.

4. FULL JOIN (FULL OUTER JOIN)

FULL JOIN, her iki tablodaki tüm satırları alır. Eşleşen satırlar birleştirilir, eşleşmeyen satırlar için ise NULL değerler döner. Bu, LEFT JOIN ve RIGHT JOIN’in birleşimidir.

SELECT * 
FROM customers FULL JOIN orders ON customers.customer_id = orders.customer_id;

Bu sorgu, hem müşteri bilgilerini hem de sipariş bilgilerini getirir. Müşterisi olmayan siparişlere ve siparişi olmayan müşterilere NULL değerler gösterilir.

Previous Article