PostgreSQL Union, TÜM Örneklerle Birlik

İçindekiler:

Anonim

PostgreSQL Union nedir?

PostgreSQL UNION operatörü, birden fazla SELECT ifadesinden gelen sonuç kümelerini tek bir sonuç kümesinde birleştirmek için kullanılır. SELECT ifadelerinin sonuçlarından gelen tüm yinelenen satırlar elimine edilir. UNION operatörü iki koşul altında çalışır:

  • SELECT sorgularının benzer sayıda sorgu döndürmesi ZORUNLUdur.
  • İlgili tüm sütunların veri türleri uyumlu olmalıdır.

UNION operatörü normalde mükemmel şekilde normalize edilmemiş ilgili tablolardan gelen verileri birleştirmek için kullanılır.

Bu PostgreSQL eğitiminde şunları öğreneceksiniz:

  • PostgreSQL Union nedir?
  • Sözdizimi
  • Birlik
  • Tüm Birlik
  • TARAFINDAN SİPARİŞ
  • Union ne zaman kullanılır ve Union ne zaman kullanılır?
  • PgAdmin'i kullanma

Sözdizimi

SELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)]UNIONSELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)];

İşte yukarıdaki parametreler için bir açıklama:

İfade_1, ifade_2,… ifade_n, almanız gereken hesaplamalar veya sütunlardır.

Tablolar, kayıtları almanız gereken tablolardır.

WHERE koşulları, kayıtların alınabilmesi için karşılanması gereken koşullardır.

Not: UNION operatörü kopyaları döndürmediğinden, UNION DISTINCT kullanımının sonuçlar üzerinde hiçbir etkisi olmayacaktır.

Birlik

UNION operatörü, kopyaları kaldırır. Bunu gösterelim.

Aşağıdaki tabloların yer aldığı Demo adlı bir veritabanımız var:

Kitap:

Fiyat:

Şu komutu çalıştıralım:

SELECT idFROM BookUNIONSELECT idFROM Price;

Komut aşağıdakileri döndürecektir:

Kimlik sütunu hem Kitap hem de Fiyat tablolarında görünür. Ancak sonuçta yalnızca bir kez görünür. Nedeni, PostgreSQL UNION operatörünün kopya döndürmemesidir.

Tüm Birlik

Bu işleç, kopyaları kaldırmadan birden fazla SELECT deyiminden sonuç kümelerini birleştirir. Operatör, her SELECT ifadesinin benzer veri türlerinin sonuç kümelerinde benzer sayıda alana sahip olmasını gerektirir.

Sözdizimi:

SELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)]UNION ALLSELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)];

İşte yukarıdaki parametreler için bir açıklama:

İfade_1, ifade_2,… ifade_n, almanız gereken hesaplamalar veya sütunlardır.

Tablolar, kayıtları almanız gereken tablolardır.

WHERE koşulları, kayıtların alınabilmesi için karşılanması gereken koşullardır.

Not: Her iki ifade de eşit sayıda ifade içermelidir.

Aşağıdaki tabloları kullanacağız:

Kitap:

Fiyat:

Aşağıdaki komutu çalıştırın:

SELECT idFROM BookUNION ALLSELECT idFROM price;

Aşağıdakileri döndürmelidir:

Kopyalar kaldırılmadı.

TARAFINDAN SİPARİŞ

PostgreSQL UNION operatörü, sorgu sonuçlarını sıralamak için ORDER BY yan tümcesi ile birlikte kullanılabilir. Bunu göstermek için aşağıdaki tabloları kullanacağız:

Fiyat:

Fiyat2:

ORDER BY yan tümcesi ile birlikte UNION operatörünün nasıl kullanılacağını gösteren komut şu şekildedir:

SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price;

Komut aşağıdakileri döndürecektir:

Kayıtlar fiyat sütununa göre sıralanmıştır. Madde, kayıtları varsayılan olarak artan sırada sıralar. Bunları azalan sırada sıralamak için DESC yan tümcesini aşağıda gösterildiği gibi ekleyin:

SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price DESC;

Komut aşağıdakileri döndürecektir:

Kayıtlar, fiyat sütununa göre azalan sırada sıralanmıştır.

Union ne zaman kullanılır ve Union ne zaman kullanılır?

Benzer yapıya sahip ancak bir nedenle bölünmüş birden çok tablonuz olduğunda UNION işlecini kullanın. Yinelenen kayıtları kaldırmanız / ortadan kaldırmanız gerektiğinde iyidir.

Yinelenen kayıtları kaldırmanız / ortadan kaldırmanız gerekmediğinde UNION ALL işlecini kullanın.

PgAdmin'i kullanma

Şimdi pgAdmin kullanılarak üç eylemin de nasıl gerçekleştirildiğini görelim.

Birlik

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

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

Adım 2)

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

Adım 3) Sorguyu sorgu düzenleyicisine yazın:

SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price DESC;

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

Aşağıdakileri döndürmelidir:

Tüm Birlik

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

Adım 2)

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

Adım 3) Sorguyu sorgu düzenleyicisine yazın:

SELECT idFROM BookUNION ALLSELECT idFROM price;

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

Aşağıdakileri döndürmelidir:

TARAFINDAN SİPARİŞ

UNION ALL operatörü, sonuç kümesindeki sonuçları sıralamak için ORDER BY yan tümcesi ile birleştirilebilir. Örneğin:

SELECT idFROM BookUNION ALLSELECT idFROM priceORDER BY id;

Komut aşağıdakileri döndürecektir:

Sonuçlar sipariş edildi.

Özet:

  • PostgreSQL UNION operatörü, birden fazla SELECT ifadesinden gelen sonuçları tek bir sonuç kümesinde birleştirir.
  • UNION operatörü, yinelenen kayıtları döndürmez.
  • Sonuçları sıralamak için ORDER BY yan tümcesi ile birleştirin.
  • UNION ALL operatörü, birden fazla SELECT ifadesinden gelen sonuçları tek bir sonuç kümesinde birleştirir.
  • UNION ALL operatörü, kopyaları kaldırmaz.

Bu Eğitimde kullanılan Veritabanını indirin