MySQL'de JOIN İşlemleri Nasıl Kullanılır?

MySQL'de JOIN İşlemleri Nasıl Kullanılır?

MySQL'de JOIN işlemleri, birden fazla tablodaki verileri birleştirerek sorgulama işlemlerinin yapılmasına olanak sağlar INNER JOIN, iki tablo arasındaki ortak kayıtları döndürürken LEFT JOIN, sol taraftaki tablodan tüm kayıtları ve sağ taraftaki tablodan eşleşen kayıtları döndürür RIGHT JOIN ise sağ taraftaki tablodan tüm kayıtları ve sol taraftaki tablodan eşleşen kayıtları döndürür FULL OUTER JOIN, her iki tablodan da tüm kayıtları döndürür JOIN işlemleri SQL sorgusu ile yazılır ve veritabanı sorgulama işlemlerinde oldukça önemlidir

MySQL'de JOIN İşlemleri Nasıl Kullanılır?

MySQL, birçok web uygulamasında sıklıkla kullanılan bir veritabanı yönetim sistemidir. Bu makalede, JOIN işlemleri hakkında bilgi edinecek ve nasıl kullanıldıklarını öğreneceksiniz. JOIN işlemleri, birden fazla tablodaki verileri birleştirerek sorgulama işlemlerinin yapılmasına olanak sağlar. Bu nedenle, veritabanı işlemleri sırasında oldukça önemlidir.

MySQL'de 4 farklı JOIN türü vardır: INNER JOIN, LEFT JOIN, RIGHT JOIN ve FULL OUTER JOIN. INNER JOIN, iki tablo arasındaki ortak kayıtları döndürürken LEFT JOIN, sol taraftaki tablodan tüm kayıtları ve sağ taraftaki tablodan eşleşen kayıtları döndürür. RIGHT JOIN ise tam tersine sağ taraftaki tablodan tüm kayıtları ve sol taraftaki tablodan eşleşen kayıtları döndürür. Son olarak, FULL OUTER JOIN, her iki tablodan da tüm kayıtları döndürür.

JOIN işlemleri, SQL sorgusu ile yazılır. SELECT * FROM Tablo1 INNER JOIN Tablo2 ON Tablo1.id = Tablo2.id örneğinde olduğu gibi, iki tablo arasındaki ortak bir sütunu (bu örnekte id) kullanır ve bir tablodaki verileri diğer tablo ile birleştirir. INNER JOIN ile WHERE ifadesi kullanarak, iki tablo arasındaki değerleri filtreleyebilirsiniz.

Özetle, MySQL'de JOIN işlemleri, birçok veritabanı sorgulama işlemi için kullanılabilen önemli bir tekniktir. Bu makalede, farklı JOIN türlerinin nasıl kullanıldığını öğrenerek, veritabanı işlemleri sırasında taleplerinizi daha etkili bir şekilde gerçekleştirebilirsiniz.


JOIN İşlemleri Nedir?

MySQL veritabanında verileri birleştirmek için JOIN işlemleri kullanılır. JOIN işlemleri, birden fazla tablodaki verileri birleştirerek sorgulama işlemlerinin yapılmasına olanak sağlar. Örneğin, bir ürün tablosu ve bir müşteri tablosu veritabanınızda bulunuyor ve iki tablodaki bilgileri birleştirmek istiyorsunuz. Bu durumda, JOIN işlemleri ile iki ayrı tablodaki bilgileri birleştirmeniz mümkündür.

MySQL'de 4 JOIN türü bulunmaktadır: INNER JOIN, LEFT JOIN, RIGHT JOIN ve FULL OUTER JOIN. INNER JOIN, iki tablo arasındaki ortak kayıtları döndürür. LEFT JOIN, sol taraftaki tablodan tüm kayıtları ve sağ taraftaki tablodan eşleşen kayıtları döndürür. RIGHT JOIN, sağ taraftaki tablodan tüm kayıtları ve sol taraftaki tablodan eşleşen kayıtları döndürür. FULL OUTER JOIN ise her iki tablodan da tüm kayıtları döndürür.

JOIN işlemlerinin kullanımı, veri analizi ve büyük veri işleme işlemlerinde oldukça yaygındır. Hangi JOIN yapısının kullanılacağı, veri tabanına ve işlem tiplerine göre değişebilir. JOIN işlemleri, veri tabanındaki büyük veri setlerinde veya karmaşık sorgulamalarda verimli çalışır.


JOIN Türleri Nelerdir?

MySQL'de JOIN işlemleri, birden fazla tablo arasındaki verilerin birleştirilmesine izin verir. Bu, sorgu işlemlerinin yapılmasını kolaylaştırır ve daha kapsamlı veri çıkışı sağlar. MySQL'de 4 JOIN türü bulunmaktadır: INNER JOIN, LEFT JOIN, RIGHT JOIN ve FULL OUTER JOIN.

JOIN Türü Açıklama
INNER JOIN İki tablo arasındaki ortak kayıtları döndürür.
LEFT JOIN Sol taraftaki tablodan tüm kayıtları ve sağ taraftaki tablodan eşleşen kayıtları döndürür.
RIGHT JOIN Sağ taraftaki tablodan tüm kayıtları ve sol taraftaki tablodan eşleşen kayıtları döndürür.
FULL OUTER JOIN Her iki tablodan da tüm kayıtları döndürür.

INNER JOIN, en yaygın kullanılan JOIN türüdür ve bir veya daha fazla sütunda ortak olan tablolar arasındaki kayıtları birleştirir. LEFT JOIN, sol taraftaki tablodan tüm kayıtları ve sağ taraftaki tablodan eşleşen kayıtları döndürür. RIGHT JOIN, RIGHT JOIN ile tam tersi, sağ taraftaki tablodan tüm kayıtları ve sol taraftaki tablodan eşleşen kayıtları döndürür. FULL OUTER JOIN, iki tablodaki tüm kayıtları birleştirir ve tekrarlayan satırları kaldırır.

Bunlar JOIN işlemleri hakkında bilinmesi gereken temel bilgilerdir. JOIN kullanımı, verilerin daha doğru ve anlamlı şekilde filtrelenmesine izin verir. Sorgular, mümkün olan en kapsamlı verilerle hizalanır, bu da sonuçların daha kesin olmasını sağlar.


INNER JOIN

MYSQL veritabanı içerisinde JOIN işlemleri, birden fazla tablodaki verileri birleştirmek amacıyla kullanılır. INNER JOIN işlemi ise iki tablo arasında ortak kayıtları döndürür.

INNER JOIN işlemi kullanarak iki tablonun birleşimini elde etmek mümkündür. INNER JOIN işlemi, sorgulanan iki tablo arasında bir veya daha fazla ortak alan/kayıt olduğunda çalışır. Bu ortak alan/kayıt ile birlikte, sorgulanan tablolardan istenilen veriler tek bir tabloda birleştirilir. Birleştirilen veriler, özelleştirilmiş sorgular ile filtrelenerek daha spesifik sonuçlar elde edilebilir.

Örneğin, müşteri bilgilerinin yer aldığı bir tablo ile sipariş bilgilerinin yer aldığı bir tablo oluşturulduğunda, INNER JOIN işlemi kullanarak bu verilerin birleştirilmesi mümkündür. Müşteri bilgileri ve sipariş bilgileri arasındaki ortak alan/kayıt sipariş numarası olabilir. Böylece, bu ortak alana/kayıta göre INNER JOIN işlemi uygulanarak iki tablonun verileri arasında birleştirme yapılabilir.

INNER JOIN işleminde kullanılan özelliklerden biri de eşsiz bir INNER JOIN yapısıdır. Bu yapı, birincil anahtar ve yabancı anahtar kullanarak kayıtları birleştirir. Bu sayede, bir tablonun iki sütununu karşılaştırarak eşleştirme yapılabildiği gibi, diğer tabloda da karşılığı olan kayıtların birleştirilmesi sağlanabilir.

INNER JOIN işlemi, WHERE ifadesi ile kullanılarak iki tablo arasındaki değerler filtrelenir. Bu sayede, sadece ortak alan/kayıtlar arasındaki belirli değerler elde edilir. INNER JOIN ile birleştirilen veriler, GROUP BY ve ORDER BY gibi sorgular ile anlamlı hale getirilebilir.


Eşsiz Bir INNER JOIN

INNER JOIN işleminin bir diğer çeşidi “Eşsiz Bir INNER JOIN” dur. Bu JOIN türünde, birincil anahtar ve yabancı anahtar kullanılarak kayıtları birleştirebilirsiniz. Bu sayede, birden fazla kayıt varsa kayıtlar eşleşir ve birleştirilir. Eşsiz bir INNER JOIN tablolardaki çift kayıtları bulmanızı sağlar.

Eşsiz bir INNER JOIN yapmak için, birincil anahtar ve yabancı anahtar verilerini belirtmeniz gerekiyor. İki anahtar da benzersiz olmalıdır. Bu işlem tablolar arasındaki ortak noktaları bulmanızı sağlar ve birleştirme işlemi gerçekleştirilir. İki tablo arasındaki birden fazla kayıt mevcut olduğunda, kayıtlar birleştirilir ve bir satırda gösterilir. Bu sayede, tablolar arasındaki veriler daha anlaşılır hale gelir.

Tablo1 Tablo2
id id
1 1
2 2
3 3

Yukarıdaki tablolarda, birincil anahtar ‘id’ ve yabancı anahtar ‘id’ olarak belirtilmiştir. Eşsiz bir INNER JOIN işlemi kullanarak, bu iki tabloyu birleştirebiliriz. Tablolardaki ortak kayıt ise ‘id’ değeri olarak belirtilmiştir. Inner join işlemi yaparak, aşağıdaki gibi sonuçlar elde edebiliriz:

id Tablo1.ad Tablo2.soyad
1 Ali Kara
2 Ayşe Beyaz
3 Fatih Mavi

Bu tabloda, Tablo1’deki ‘id’ değerleri ile Tablo2’deki ‘id’ değerleri eşleştirilmiştir. Bu sayede, kayıtlar birleştirilmiş ve düzenlenmiştir. Bu işlem tablolar arasındaki ilişkilerin daha net ve anlaşılır hale gelmesini sağlar.


INNER JOIN ve WHERE Kullanımı

INNER JOIN işlemi, iki tablonun ortak kayıtlarını döndürür. WHERE ifadesi ise, belirli koşullara göre kayıtları filtrelemek için kullanılır. JOIN işlemi ile WHERE ifadesi birleştirildiğinde, iki tablo arasındaki ortak kayıtları filtreleyebilirsiniz.

Örneğin, bir öğrenci kayıt veritabanındaki öğrenci ve ders tablolarını birleştirelim. INNER JOIN kullanarak, sadece ilgili öğrencilerin ders kayıtlarını döndürelim. WHERE ifadesi ile de sadece belirli bir dönemde alınan derslerin kayıtlarını filtreleyelim. Bu şekilde, INNER JOIN ve WHERE ifadesi kullanarak veritabanında aradığımız öğrenci ve ders kayıtlarına rahatlıkla ulaşabiliriz.

Öğrenci Tablosu Ders Tablosu
ID ID Öğrenci Adı Ders Adı Dönem
1 1 Ahmet Matematik 2020/2021 Dönemi
2 2 Mehmet Fizik 2020/2021 Dönemi
1 3 Ahmet Türkçe 2020/2021 Dönemi

INNER JOIN ve WHERE ifadesi kullanarak örneğin 2020/2021 dönemi için Ahmet'in aldığı dersleri listeleyelim:

  • SELECT Öğrenci_Tablosu.Öğrenci_Adı, Ders_Tablosu.Ders_Adı FROM Öğrenci_Tablosu INNER JOIN Ders_Tablosu ON Öğrenci_Tablosu.ID = Ders_Tablosu.ID WHERE Öğrenci_Tablosu.Öğrenci_Adı = "Ahmet" AND Ders_Tablosu.Dönem = "2020/2021 Dönemi";

Yukarıdaki SQL sorgusunda, INNER JOIN ile iki tablo birleştirilmiş, WHERE ifadesi ile de Ahmet isimli öğrencinin aldığı dersler filtrelenmiştir. Bu şekilde, JOIN işlemleri ile WHERE ifadesini birleştirerek, istediğiniz verileri elde etmek oldukça basittir.


LEFT JOIN

MySQL'deki JOIN işlemleri birden fazla tabloyu birleştirerek sorgulama işlemlerini yapmamızı sağlar. Sol taraftaki tablodan tüm kayıtları ve sağ taraftaki tablodan eşleşen kayıtları döndüren LEFT JOIN, bu işlemler arasında yer almaktadır. Sol taraftaki tablo, genellikle birincil anahtar (primary key) içeren tablodur ve sağ taraftaki tablo yabancı anahtar (foreign key) kullanarak bir birine bağlıdır. Sol taraf için belirtilen Tüm kayıtlar ile eşleşen kayıtları bulmak için sağ taraftaki tabloya ihtiyacımız var.

Örneğin, bir müşteri veritabanı üzerinde çalışıyorsanız ve müşteriler tablosu birincil anahtar olsa ve her bir müşteriye atanan siparişler tablosuna yabancı anahtar kullanılarak bağlanmış olsun. Tüm müşteriler ve onların eşleşen siparişlerini bulmak istediğinizde sol tabloya müşteriler, sağ tabloya ise siparişler tablosunu eklemelisiniz.

LEFT JOIN işlemi, sağ taraftaki tabloda eşleşen kayıtlar bulunmadığında bile sol tablonun tüm kayıtlarını döndürür. Bu nedenle, eşleşmeleri olmayan kayıtlar için NULL değerleri döndürebilirsiniz. Sol taraftaki tablodaki kayıt sayısı sağ taraftaki tablodaki kayıt sayısından fazla olduğunda LEFT JOIN işlemi kullanışlı bir tercih olabilir.


RIGHT JOIN

RIGHT JOIN, sağ taraftaki tablodan tüm kayıtları ve sol taraftaki tablodan eşleşen kayıtları döndürür. İki tablo arasındaki ilişkiyi belirliyoruz ve doğru kayıtları eşleştirerek verileri birleştiriyoruz. Sol tablodaki tüm kayıtları ve eşleşen sağ tablo kayıtlarını döndürecektir. Eğer sağ tabloda eşleşen bir kayıt yoksa, NULL değeri döndürülecektir.

RIGHT JOIN kullanarak iki tablodaki bilgileri birleştirme işlemi yapabilirsiniz. Önceki örnekte kullandığımız birinci tabloyu (müşteri bilgileri) ve ikinci tabloyu (sipariş bilgileri) düşünelim. Siparişler tablosunda müşteri ID'si olan kayıtlar bulunuyor. RIGHT JOIN kullanarak, tüm siparişleri alma imkanımız var ve eşleşen müşteri bilgilerini de alabiliriz.

Müşteri ID Ad Soyad Sipariş ID Sipariş Tarihi
1 Ahmet Yılmaz 1001 01.01.2021
2 Ayşe Demir NULL NULL
3 Mehmet Kara 1002 05.01.2021

Yukarıdaki tabloda, siparişi olan müşterilerin kayıtları yanında, herhangi bir siparişi olmayan müşterilerin de kayıtları yer almaktadır. RIGHT JOIN sayesinde, ikinci tablodaki kayıtların tamamını ve sol taraftaki tablodaki eşleşen kayıtları alabiliyoruz. Eğer sol taraftaki tablo kaydı eşleşmeyen bir ID'ye sahipse, NULL değeri döndürülmüştür.