UNION vs UNION ALL
Termasuk bagian Lebih dari Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 16 dari 27.
Kamu sudah mempelajari UNION di Fundamentals: perintah ini menumpuk dua kumpulan hasil. Secara default, perintah ini juga menghapus duplikat, yang membutuhkan proses pengurutan tambahan.
SELECT name FROM authors
UNION
SELECT name FROM editorsUNION ALL melakukan penggabungan yang sama, tetapi mempertahankan duplikat. Cara ini lebih cepat dan hampir selalu menjadi pilihan yang tepat ketika kamu tahu kedua sisi tidak dapat menghasilkan baris yang sama, atau ketika kamu memang ingin menghitung setiap kemunculan.
SELECT name FROM authors
UNION ALL
SELECT name FROM editorsKedua sisi harus menghasilkan jumlah kolom yang sama, dalam urutan yang sama, dengan tipe yang kompatibel.
Tantangan
MudahTabel dan kolom yang tersedia:
online_orders:order_no,amountretail_orders:ticket_no,total
Kedua tabel mencatat pesanan dari saluran yang berbeda dengan nama kolom yang berbeda. Kembalikan satu daftar gabungan yang berisi setiap pesanan dengan kolom berikut:
channel:'online'atau'retail'order_id:order_nodari online,ticket_nodari retailamount: total pesanan (dariamountatautotal)
Sertakan setiap baris (tanpa menghapus duplikat). Urutkan berdasarkan amount secara menurun.
Coba sendiri
-- dua SELECT diselaraskan dengan 3 kolom yang sama, digabungkan dengan UNION ALL
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Lebih dari Dasar-Dasar
Latihan sendiri: Playground SQL