"Enter"a basıp içeriğe geçin

SQLite’ta tablolar nasıl birleştirilir – Linux ipucu

Bazen veritabanlarıyla çalışırken, tablolardaki kayıtları veritabanında birleştirmemiz gerekebilir. Bu durumda, her alandaki ortak değerleri kullanarak seçilen alanları birleştiren bir SQL JOIN deyimi kullanabiliriz.

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

  1. kesişme noktasına katılmak
  2. dahili birleştirme
  3. Bir dış bağlantı bırakın

Bu eğitim, size bu SQLite bağlantılarında hızlı bir şekilde yol gösterecek ve veritabanı kayıtlarına nasıl katılacağınızı gösterecektir.

INNER JOIN ile başlayalım çünkü basittir ve diğer JOIN türlerini anlamamızın temelini oluşturur.

1: iç birleştirme

INNER JOIN, verilen tabloların değerlerini birleştirerek yeni bir tablo oluşturarak çalışır. Her tablodaki satırları karşılaştırarak ve verilen koşula göre 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 biçim şöyledir:

seçim sütunu(s) tablo1’DEN INNER JOIN tablo2 üzerinde tablo1.sütun = tablo2.sütun;

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

Diyelim ki kullanıcı adı ve alanları olan bir tablonuz var: id, ad, yaş ve dil – işte tabloyu oluşturmak için örnek bir SQL sorgusu:

program yap Kullanıcılar(
“Kimlik Kartı” INT boş değil,
“İsim” metin boş değil,
“yaş” INT boş değil,
“karanlık” Metin,
birincil anahtar(“Kimlik Kartı” otomatik artış)
);

Ayrıca, aşağıda verilen alan kimliğine ve SQL sorgu rolüne sahip satırlar adlı başka bir tablomuz var:

program yap “silindir”(
“Kimlik Kartı” INT boş değil,
“İşlev” Metin,
birincil anahtar(“Kimlik Kartı” otomatik artış)
)

Artık aşağıda gösterilen sorguyu kullanarak SQLite INNER JOIN’i çalıştırabiliriz:

users.id , users.name ve Roles.role arasından seçim yapın kullanıcılar INNER JOIN Rolleri ON users.id = Roles.id;

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

2: çapraz birleştirme

Diğer SQL JOIN türü CROSS JOIN’dir. Bu tür, birinci tablodaki her satırı ikinci tablodaki her satırla eşleştirir. olarak düşün Kartezyen sonuç olarak ürün, tablo1’deki, tablo2’deki her satıra karşılık gelen bir satır dizisidir. Örneğin, tablo1’de a satırı ve tablo2’de b satırı varsa, sonuç tablosu a*b satırını içerecektir.

Değil: Büyük tablo koleksiyonlarına yol açabileceğinden, çapraz birleştirmeleri kullanırken dikkatli olun.

Çapraz Birleştirme için genel formül şöyledir:

seçim sütunu(s) tablo1’DEN CROSS JOIN tablo2;

Kullanıcılar tablosunu roller tablosunun tüm satırlarıyla çapraz birleştirmeyi düşünün. Aşağıdaki SQL sorgusunu göz önünde bulundurun:

Seçmek * İtibaren kullanıcılar CROSS JOIN rolleri;

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

3: Sol dış birleştirme

Bakacağımız son birleştirme, bir OUTER JOIN’dir. OUTER JOIN, INNER JOIN’in bir uzantısıdır. İnnerjoin, open, neuter ve use gibi terimleri ifade ediyoruz. Ayrıca, SQL’in üç tür OUTER JOINS tanımladığına dikkat edilmelidir: LEFT, RIGHT ve FULL, ancak SQLite yalnızca LEFT JOIN’leri destekler.

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

Aşağıdaki sorguyu düşünün.

users.id , users.name , role.role ve users.language arasından seçim yapın kullanıcılar SOL OUTER JOIN Silindiri AÇIK users.id = Roles.id;

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

çözüm

Bu öğretici, SQLite’ta SQL birleştirmelerini nasıl gerçekleştireceğinizi ve değişken bilgileriyle yeni tablolar oluşturacağınızı gösterir. Veritabanlarıyla çalışırken çok yararlı olduklarından, SQL JOIN’leri denemeye devam etmek iyi bir fikirdir.

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

Diğer gönderilerimize göz at

[wpcin-random-posts]

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir