Menu
Coddy logo textTech

UNION ve UNION ALL

Coddy'nin SQL Journey'sinin Temellerin Ötesi bölümünün bir parçası — ders 16 / 27.

UNION ile Temeller bölümünde tanışmıştınız: iki sonuç kümesini birbiri üzerine yığar. Varsayılan olarak, ek bir sıralama maliyetine yol açan yinelenenleri kaldırma işlemini de gerçekleştirir.

SELECT name FROM authors
UNION
SELECT name FROM editors

UNION ALL aynı yığınlama işlemini yapar ancak yinelenenleri korur. Daha hızlıdır ve iki tarafın aynı satırı üretemeyeceğini bildiğinizde veya her bir oluşumu gerçekten saymak istediğinizde neredeyse her zaman istediğiniz şeydir.

SELECT name FROM authors
UNION ALL
SELECT name FROM editors

Her iki taraf da aynı sayıda sütunu, aynı sırada ve uyumlu türlerle döndürmelidir.

challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

  • <strong>online_orders</strong>: <strong>order_no</strong>, <strong>amount</strong>
  • <strong>retail_orders</strong>: <strong>ticket_no</strong>, <strong>total</strong>

İki tablo, farklı sütun adlarıyla farklı kanallardan gelen siparişleri takip eder. Şu sütunlara sahip tüm siparişlerin birleştirilmiş tek bir listesini döndürün:

  • channel: 'online' veya 'retail'
  • order_id: online tablosundan order_no, retail tablosundan ticket_no
  • amount: siparişin toplamı (amount veya total sütunundan)

Her satırı koruyun (tekrarları kaldırmayın). amount sütununa göre azalan düzende sıralayın.

Kopya kağıdı

UNION iki sonuç kümesini üst üste ekler ve yinelenenleri kaldırır (daha yavaştır). UNION ALL üst üste ekler ve yinelenenleri korur (daha hızlıdır):

SELECT name FROM authors
UNION ALL
SELECT name FROM editors

Her iki taraf da aynı sırada ve uyumlu türlerde, aynı sayıda sütuna sahip olmalıdır. Sütun adları ilk SELECT ifadesinden gelir.

Kendin dene

-- aynı 3 sütuna hizalanmış, UNION ALL ile birleştirilmiş iki SELECT
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temellerin Ötesi bölümündeki tüm dersler