PostgreSQL Örneklerle Birleştirme Türleri: İç, Dış, Sol, Sağ

Birleşmeler nelerdir PostgreSQL?

PostgreSQL Katıldı Birden fazla tablodan veri almak için kullanılır. joins ile SELECT ve JOIN deyimlerini tek bir deyimde birleştirmemiz mümkün. İfadeye bir JOIN koşulu eklenir ve koşulları karşılayan tüm satırlar döndürülür. Farklı tablolardaki değerler ortak sütunlara göre birleştirilir. Ortak sütun çoğunlukla birinci tablodaki birincil anahtar ve ikinci tablodaki yabancı anahtardır.

PostgreSQL Birleştirme Türleri

İki tür birleştirme vardır PostgreSQL:

  • İç Birleşimler
  • Dış Birleşimler

PostgreSQL İç birleşim

3 tür İç Birleştirme vardır PostgreSQL:

  • Teta katılımı
  • Doğal birleştirme
  • EQUI'ye katılma

Tetaya Katılma

Teta birleşimi, kişinin teta tarafından temsil edilen koşula göre iki tabloyu birleştirmesine olanak tanır. Theta birleşimleri tüm karşılaştırma operatörleriyle çalışabilir. Çoğu durumda teta birleşimine iç birleştirme adı verilir.

Theta join, JOIN'in en temel türüdür. JOIN koşulunun sağlandığı tabloların tüm satırlarını döndürür.

Sözdizimi:

SELECT columns
FROM table-1 
INNER JOIN table-2
ON table-1.column = table-2.column;

Demo veritabanının aşağıdaki tablolarını göz önünde bulundurun:

Kitap:

PostgreSQL Tetaya Katılma

Fiyat:

PostgreSQL Tetaya Katılma

Her kitabın adını ve karşılık gelen Fiyatını görmek istiyoruz. Aşağıdaki komutu çalıştırabiliriz:

SELECT Book.name, Price.price 
FROM Book 
INNER JOIN Price 
ON Book.id = Price.id;   

Aşağıdakini döndürecektir:

PostgreSQL Tetaya Katılma

Yalnızca 3 satır birleştirme koşulunu karşıladı.

EQUI'ye Katılın

EQUI birleşimi bize birincil anahtar/yabancı anahtar ilişkisine dayalı olarak iki tabloyu birleştirmenin bir yolunu sağlar. Örneğin:

SELECT *
FROM Book 
JOIN Price ON Book.id = Price.id;

Aşağıdakini döndürecektir:

PostgreSQL EQUI'ye Katılın

Her iki tablodan da ortak sütunlara yani id sütununa göre kayıtlar döndürülmüştür.

Doğal Birleştirme

Bu birleştirme türü bize EQUI birleştirmesi yazmanın başka bir yolunu sağlar. Aşağıda gösterildiği gibi NATURAL anahtar kelimesini ekleyerek önceki örneğimizi geliştirebiliriz:

SELECT *
FROM Book
NATURAL JOIN Price;

Aşağıdakini döndürecektir:

PostgreSQL Doğal Birleştirme

Yalnızca bir kimlik sütunu döndürüldü. NATURAL JOIN, kimlik sütununun iki tabloda ortak olduğunu fark edebildi. Sadece bir tanesi iade edildi.

Postgres Dış Birleştirme

3 tür Dış Birleştirme vardır PostgreSQL:

  • Sol dış katılma
  • Sağ Dış Birleştirme
  • Tam Dış Birleştirme

Postgres Sol Dış Birleştirme

LEFT OUTER JOIN, sol taraftaki tablodaki tüm satırları ve yalnızca sağ taraftaki tabloda birleştirme koşulunun karşılandığı satırları döndürür.

Sözdizimi:

SELECT columns
FROM table-1
LEFT OUTER JOIN table-2
ON table-1.column = table-2.column;

Her kitabın adını ve karşılık gelen Fiyatını görmemiz gerekiyor. Aşağıdaki komutu çalıştırabiliriz:

SELECT Book.name, Price.price 
FROM Book   
LEFT JOIN Price 
ON Book.id = Price.id;   

Bu, aşağıdakileri döndürür:

Postgres Sol Dış Birleştirme

Kitap tablosundaki 4 satırın tümü döndürüldü. Fiyat tablosundaki yalnızca 3 satır birleştirme koşulunu karşıladı. Bu nedenle iade edildiler. Son kitabın karşılık gelen fiyat değeri yok.

Postgres Sağ Dış Birleştirme

RIGHT OUTER JOIN, birleştirme koşulunun karşılandığı sağ taraftaki tablodaki tüm satırları ve sol taraftaki tablodaki satırları döndürür.

Sözdizimi:

SELECT columns
FROM table-1
RIGHT OUTER JOIN table-2
ON table-1.column = table-2.column;

Örneğin:

SELECT Book.name, Price.price 
FROM Book
RIGHT JOIN Price 
ON Book.id = Price.id;

Bu, aşağıdakileri döndürür:

Postgres Sağ Dış Birleştirme

Fiyat tablosundaki tüm satırlar döndürüldü. Yalnızca Kitap tablosundaki birleştirme koşulunu karşılayan satırlar döndürüldü. 3rd Eşleşme bulunamadığından satırın ad değeri yok.

Tam Dış Katılım PostgreSQL

Bu JOIN türü, birleştirme koşulunun karşılanmadığı durumlarda sol taraftaki tablodaki tüm satırları ve sağ taraftaki tablodaki tüm satırları boş değerlerle döndürür.

Sözdizimi:

SELECT columns
FROM table-1
FULL OUTER JOIN table-2
ON table-1.column = table-2.column;

Örneğin:

SELECT Book.name, Price.price 
FROM Book
FULL OUTER JOIN Price 
ON Book.id = Price.id;

Bu, aşağıdakileri döndürür:

Postgres Tam Dış Birleştirme

Tüm tablolardaki tüm satırlar, eşleşme bulunamayan boş değerlerle birlikte döndürüldü.

pgAdmin'i kullanma

Yukarıdaki görevler pgAdmin'de aşağıdaki şekilde gerçekleştirilebilir:

pgAdmin İç Birleştirme

Theta Nasıl Kullanılır? PostgreSQL pgAdmin'i kullanma

Postgres'te pgAdmin kullanarak Theta join'i kullanma adımları aşağıda verilmiştir:

Adım 1) pgAdmin hesabınıza giriş yapın

Kimlik bilgilerinizi kullanarak pgAdmin'i açın ve Giriş yapın

Adım 2) Demo veritabanı oluşturun

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

pgAdmin İç Birleştirme

Adım 3) Sorguyu yazın

Sorgu düzenleyicisine aşağıdaki sorguyu yazın:

SELECT Book.name, Price.price 
FROM Book 
INNER JOIN Price 
ON Book.id = Price.id;   

Adım 4) Sorguyu yürütün

Yürüt düğmesine tıklayın

pgAdmin İç Birleştirme

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin İç Birleştirme

EQUI'ye Katılın

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

pgAdmin EQUI Katıl

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

SELECT *
FROM Book 
JOIN Price ON Book.id = Price.id;

) 4 Adım Yürüt düğmesine tıklayın.

pgAdmin EQUI Katıl

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin EQUI Katıl

Doğal Birleştirme

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

pgAdmin Doğal Katılma

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

SELECT *
FROM Book 
NATURAL JOIN Price;

) 4 Adım Yürüt düğmesine tıklayın.

pgAdmin Doğal Katılma

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin Doğal Katılma

pgAdmin Basit İç Birleştirme

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

pgAdmin Basit İç Birleştirme

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

SELECT Book.name, Price.price 
FROM Book 
INNER JOIN Price 
ON Book.id = Price.id;   

) 4 Adım Yürüt düğmesine tıklayın.

pgAdmin Basit İç Birleştirme

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin Basit İç Birleştirme

pgAdmin Dış Katılma

Sol dış katılma

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

pgAdmin Sol Dış Birleştirme

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

SELECT Book.name, Price.price 
FROM Book   
LEFT JOIN Price 
ON Book.id = Price.id;   

) 4 Adım Yürüt düğmesine tıklayın.

pgAdmin Sol Dış Birleştirme

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin Sol Dış Birleştirme

Sağ Dış Birleştirme

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

pgAdmin Sağ Dış Birleştirme

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

SELECT Book.name, Price.price 
FROM Book
RIGHT JOIN Price 
ON Book.id = Price.id;

) 4 Adım Yürüt düğmesine tıklayın.

pgAdmin Sağ Dış Birleştirme

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin Sağ Dış Birleştirme

Tam Dış Birleştirme

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

pgAdmin Tam Dış Birleştirme

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

SELECT Book.name, Price.price 
FROM Book
FULL OUTER JOIN Price 
ON Book.id = Price.id;

) 4 Adım Yürüt düğmesine tıklayın.

pgAdmin Tam Dış Birleştirme

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin Tam Dış Birleştirme

ÖZET

  • In PostgreSQLbirden fazla tablodan değer almamız gerektiğinde JOIN'leri kullanırız.
  • INNER JOIN, JOIN'in en temel türüdür. Belirtilen JOIN koşulunun sağlandığı tüm kayıtları döndürür.
  • LEFT OUTER JOIN, soldaki tablodaki tüm satırları ve yalnızca diğer tablodaki birleştirme koşulunun karşılandığı satırları döndürür.
  • RIGHT OUTER JOIN, sağ taraftaki tablodaki tüm satırları ve yalnızca diğer tablodaki birleştirme koşulunun karşılandığı satırları döndürür.
  • Bu JOIN türü, birleştirme koşulunun karşılanmadığı durumlarda, soldaki tablodaki tüm satırları ve sağdaki tablodaki tüm satırları boş değerlerle döndürür.

Bu Eğitimde kullanılan Veritabanını İndirin