MySQL Katılım Türleri | MySQL [Sözdizimi İle] Katılıyor

Yayınlanan: 2020-12-09

İçindekiler

Tanıtım

MySQL, Oracle tarafından desteklenen açık kaynaklı bir İlişkisel Veritabanı Yönetim Sistemidir (RDBMS). MySQL, kurucu ortak Michael Widenius'un kızının adı olan “My” ve Structured Query Language'in kısaltması olan “SQL” olmak üzere iki kelimeden oluşur.

RDBMS'deki İlişkisel kelimesi, MySQLwork'te KATILDIĞIN temel şeydir. Herhangi bir Veritabanında birçok türde ve sayıda tablo olabilir. JOINS, adından da anlaşılacağı gibi, ortak sütunları kullanarak bağlantı tablolarını birlikte kullanır. Temel bir örnek, Tablo 1'de çalışan ayrıntılarının ve Tablo 2'de proje ayrıntılarının olmasıdır.

Bir çalışanın dahil olduğu projeleri kontrol etmemiz gerekirse, çalışan adı veya çalışan kimliği üzerindeki tablolara katılabiliriz, bu sayede tablolara katılır ve yeni sanal tabloya (kaydedilebilir) gerekli tüm bilgilerle erişilebilir. .

Özellikler

  • MySQL, Açık Kaynaklıdır ve tabloların kayıtlarına erişmek ve bunları yönetmek için uygun bir RDBMS'dir.
  • Veritabanı yönetimi alanında oldukça yaygın olan SQL kodlama dilini destekler.
  • MySQL basit ve kullanımı kolaydır. Birisi belirli bir soruna takılıp kalmışsa, ezici miktarda belgeye sahiptir.
  • MySQL'in çok güçlü bir güvenlik katmanı vardır. Parolalar şifrelenir, bu nedenle hassas veriler davetsiz misafirlere karşı güvendedir.
  • MySQL, çoklu iş parçacığını desteklediği için ölçeklenebilir. Multi-Threading, tablonun boyutu çok büyük olsa bile, hızlı sorgu yürütme ve veri işlemeden sorumludur.
  • MySQL, İstemci/Sunucu mimarisine sahiptir. Sunucuya bağlı bir Veritabanı sunucusu ve birçok istemci (uygulama programı) vardır.

Birleşim Türleri

İç birleşim

İç birleştirme, MySQL'deki varsayılan birleştirme türüdür. İki tablodan eşleşen kayıtları birleştirir ve döndürür. Bir tablonun her satırını diğeriyle karşılaştıracak ve birleştirme koşulunu kontrol edecektir. Koşul sağlanırsa, her iki tablodaki sütunlarla yeni bir satır oluşturulur ve bu yeni satır çıktıya dahil edilir.

Kod Parçacığı:

SEÇ t1 . emp_id , t1.emp_name,t2.project_name

t1 olarak çalışandan

INNER JOIN projesi t2 olarak

AÇIK t1.project_id = t2 . proje_kimliği

Bu sorguda iki tablo var. İlk tablo çalışanların detaylarını, ikincisi ise halihazırda devam etmekte olan tüm projeleri içermektedir. Yukarıdaki sorguyu çalıştırdıktan sonra MySQL, tüm çalışanları ilgili proje ayrıntılarıyla birlikte döndürür. Burada proje_id sütunu, çalışan tablosundaki bir yabancı anahtar ve projeler tablosundaki birincil anahtardır. Herhangi bir proje_kimliği veya proje_kimliği olmayan herhangi bir çalışanı olmayan çalışanlar iade edilmeyecektir.

Sol yönden katılım

Sol birleştirme, iki tablodaki eşleşen kayıtları ve ilk tablodaki eşleşmeyen kayıtları birleştirir ve döndürür. Sol birleştirme, esasen, ilk tablodan iç birleştirme + eşleşmeyen kayıtların çıktısını döndürür. Bu eşleşmeyen satırlar ayrıca tablo 2'deki sütunlara sahip olacak, ancak bunlarla eşleşen veri olmadığından bu sütunlardaki değer boş olacaktır.

Kod Parçacığı:

SEÇ t1 . emp_id , t1.emp_name,t2.project_name

t1 olarak çalışandan

LEFT JOIN projesi t2 olarak

AÇIK t1.project_id = t2 . proje_kimliği

Bu sorguda iki tablo var. İlk tablo çalışanların detaylarını, ikincisi ise halihazırda devam etmekte olan tüm projeleri içermektedir. Yukarıdaki sorguyu çalıştırdıktan sonra MySQL, tüm çalışanları ilgili proje ayrıntılarıyla ve ayrıca proje_kimliği atanmamış çalışan ayrıntılarıyla birlikte döndürür. Burada proje_id sütunu, çalışan tablosundaki bir yabancı anahtar ve projeler tablosundaki birincil anahtardır.

Okuyun: SQL'de Sütun Adını Yeniden Adlandır

Sağ Katıl

Sağ birleştirme, sol birleştirmeye çok benzer, sadece şimdi ikinci tablodaki eşleşmeyen kayıtlar çıktıya dahil edilecek ve yalnızca ilk tablodaki eşleşen kayıtlar.

Kod Parçacığı:

SEÇ t1 . emp_id , t1.emp_name,t2.project_name

t1 olarak çalışandan

t2 olarak RIGHT JOIN projesi

AÇIK t1.project_id = t2 . proje_kimliği

Yukarıdaki sorguyu çalıştırdıktan sonra MySQL, tüm çalışanları ilgili proje ayrıntılarıyla ve aynı zamanda eşleşen çalışanı olmayan projelerin ayrıntılarıyla birlikte döndürür. Bu durumlarda çalışan ayrıntıları sütunları NULL olacaktır.

Tam Katılım

Adından da anlaşılacağı gibi, tam birleştirme, eşleşen ve eşleşmeyen tüm kayıtları döndürür. MySQL, istenen sütunda eşleşen satırları bulabilirse, bu kayıtlar eşleştirilecektir. Satırların geri kalanı NULL değerlere sahip olacaktır.

Kod Parçacığı:

SEÇ *

t1 olarak çalışandan

FULL OUTER JOIN projesi olarak t2

AÇIK t1.project_id = t2 . proje_kimliği

Yukarıdaki sorguyu çalıştırdıktan sonra MySQL, tüm çalışanları ilgili proje ayrıntılarıyla, ayrıca projesi olmayan çalışanların ve eşleşen çalışanı olmayan projelerin ayrıntılarıyla birlikte döndürür. Bazı sütunlar buna göre NULL değerlere sahip olacaktır.

Çapraz Birleştirme

Adından da anlaşılacağı gibi, çapraz birleştirme, tablo 1'in her satırını, tablo 2'nin her satırıyla birleştirecektir. Dolayısıyla her tabloda 5 kayıt varsa, her satır başka bir satırla eşleştirildiğinden çıktı 25 satıra sahip olacaktır.

Kod Parçacığı:

SEÇ *

t1 olarak çalışandan

t2 olarak CROSS JOIN projesi

Yukarıdaki sorguyu çalıştırdıktan sonra MySQL, tüm çalışanları tüm proje ayrıntılarıyla birlikte döndürür. Bu bilgiyi görselleştirmek pek mantıklı olmasa da, Cross Joins bazı özel ve özel durumlarda önemlidir ve gereklidir.

Ayrıca Okuyun: SQL Mülakat Soruları ve Cevapları

Dünyanın En İyi Üniversitelerinden Yazılım Mühendisliği Kurslarına Kaydolun . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

JOINS, Veri Çıkarmanın önemli bir parçasıdır. Kullanıcının ihtiyaçlarına göre çeşitli tablolardan verileri birleştirmeye yardımcı olurlar. JOINS'in tek dezavantajı, bazen yazmanın karmaşık hale gelmesi olabilir. Günün sonunda JOINS çok kullanışlıdır ve MySQL'de çeşitli birleştirme türleri uygulanabilir.

Sonuç olarak, bu makalede bahsedilen tüm veritabanlarını öğrenmek ve uygulamalı pratik yapmak deneyiminize katkıda bulunacaktır. Kurs genel bakışını, öğrenimi ve bununla ilgili iş fırsatlarını gözden geçirin - upGrad gibi platformlar, Executive PG Programı Tam Yığın Geliştirmede IIIT-B gibi oldukça tanınmış enstitüler tarafından tasarlanan güçlü kurslar sunar.

Geleceğin Kariyerine Hazırlanın

Yazılım Mühendisliği Yüksek Lisans Programına Hemen Başvur