SQLit

SQLite'da tablolar nasıl birleştirilir

SQLite'da tablolar nasıl birleştirilir
Bazen veritabanlarıyla çalışırken, bir veritabanındaki tablolardaki kayıtları birleştirmemiz gerekebilir. Durum böyle olunca, her alanda ortak değerler kullanarak belirtilen alanları birleştiren SQL JOIN deyimini kullanabiliriz.

Üç ana SQLite birleştirme türü vardır.

  1. ÇAPRAZ BİRLEŞTİRME
  2. İÇ BİRLEŞİM
  3. SOL DIŞ KATILMA

Bu öğretici, bu SQLite birleşimlerinde size hızlı bir şekilde yol gösterecek ve veritabanı kayıtlarına nasıl katılacağınızı gösterecektir.

Basit olduğu için INNER JOIN ile başlayalım ve diğer JOIN türlerini anlamamız için bir temel oluşturalım.

1: İÇ BİRLEŞTİRME

INNER JOIN, belirtilen tabloların değerlerini birleştirerek yeni bir tablo oluşturarak çalışır. Her tablodaki satırı karşılaştırarak ve belirtilen yüklem başına eşleşen tüm çiftleri bularak başlar. Daha sonra eşleşen çiftleri tek bir satırda birleştirir.

INNER JOIN için genel sözdizimi şöyledir:

tablo1'DEN sütun(lar)ı SEÇİN INNER JOIN tablo2 ON tablo1.sütun = tablo2.sütun;

Nasıl çalıştığını göstermek için bir JOIN işlemine bakalım.

Kullanıcı adında bir tablonuz olduğunu varsayalım: alanları olan: id, name, age, dil-örnek SQL sorgusu tablo oluşturmak için aşağıdadır:

TABLO OLUŞTUR "kullanıcılar" (
"id" INTEGER NULL DEĞİL,
"isim" METİN NULL DEĞİL,
"yaş" TAM SAYISI NULL DEĞİL,
"dil" METİN,
BİRİNCİL ANAHTAR("id" OTOMATİK ARTIRMA)
);

Ayrıca, alan kimliğine sahip satırlar ve aşağıda Sağlanan role-SQL Sorgusu adlı başka bir tablomuz var:

TABLO OLUŞTUR "Roller" (
"id" INTEGER NULL DEĞİL,
"rol" METİN,
BİRİNCİL ANAHTAR("id" OTOMATİK ARTIRMA)
)

Şimdi, aşağıda gösterilen sorguyu kullanarak bir SQLite INNER JOIN işlemi çalıştırabiliriz:

kullanıcıları SEÇ.kimlik, kullanıcılar.isim, Roller.rol kullanıcılardan INNER JOIN Roller ON kullanıcılar.kimlik = Roller.İD;

Yukarıdaki sorgu, aşağıda gösterilen tabloyla sonuçlanacaktır:

2: ÇAPRAZ BİRLEŞTİRME

Diğer SQL JOIN türü, CROSS JOIN'dir. Bu tür, ilk tablodaki her satırı ikinci tablodaki her satırla eşleştirir. Bunu bir Kartezyen Ürün olarak düşünün, çünkü sonuçlar tablo 1'deki tablo 2'deki her satırla eşleşen bir dizi satırdır. Örneğin, tablo1'in (a) satırı ve tablo2'nin (b) satırı varsa, elde edilen tablonun a*b satırı olacaktır.

NOT: Muazzam masa setleriyle sonuçlanma potansiyeline sahip oldukları için çapraz birleştirmeleri kullanırken dikkatli olun.

Çapraz Birleştirme için genel sözdizimi şöyledir:

tablo1'DEN sütun(lar)ı SEÇ CROSS JOIN tablo2;

Kullanıcı tablosundan roller tablosunun tüm satırlarıyla bir çapraz birleştirme düşünün. Aşağıdaki SQL Sorgusunu düşünün:

SEÇ * KULLANICILARDAN CROSS JOIN rolleri;

Yukarıdaki sorguyu çalıştırmak, aşağıda gösterildiği gibi bir tabloyla sonuçlanacaktır:

3: SOL DIŞ BİRLEŞTİRME

Bakacağımız son birleştirme, OUTER JOIN. OUTER JOIN, INNER JOIN'in bir uzantısıdır. INNER birleştirme gibi, AÇIK, NÖTR ve KULLANIM gibi koşullarda ifade ediyoruz. SQL'in üç tür OUTER JOINS tanımladığını da belirtmekte fayda var: sol, sağ ve tam, ancak SQLite yalnızca LEFT JOIN'i destekler.

LEFT dış JOIN, koşulda belirtilen LEFT tablosundaki tüm satırları ve yalnızca birleştirilmiş koşulun doğru olduğu diğer tablolardaki satırları döndürür.

Aşağıdaki Sorguyu göz önünde bulundurun.

kullanıcıları SEÇ.kimlik, kullanıcılar.isim, roller.rol, kullanıcılar.dil kullanıcılardan LEFT OUTER JOIN Kullanıcılar ÜZERİNDEKİ Roller.kimlik = Roller.İD;

Yukarıdaki sorgu, aşağıda gösterilen tabloyla sonuçlanacaktır:

Sonuç

Bu öğretici, SQLite'de SQL birleştirmelerinin nasıl gerçekleştirileceğini ve değiştirilmiş bilgilerle yeni tablolar oluşturmayı göstermiştir. Veritabanlarıyla çalışırken çok kullanışlı oldukları için SQL JOIN'leri denemeye devam etmek iyidir.

Okuduğunuz için teşekkürler!

How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...