UNION dan UNION ALL adalah operator set yang menggabungkan set hasil dari dua atau lebih pernyataan SELECT menjadi satu set hasil tunggal.
Persyaratan skema
Semua pernyataan SELECT dalam kueri UNION harus memiliki skema yang sama. Semua kondisi berikut harus dipenuhi:
Bidang yang sama muncul di setiap pernyataan
SELECT.Bidang pada posisi yang sama memiliki tipe data yang sama.
Bidang muncul dalam urutan yang sama di semua pernyataan.
UNION vs UNION ALL
| Operator | Nilai duplikat | Kinerja |
|---|---|---|
UNION ALL | Disertakan | Lebih cepat |
UNION | Dihapus (setara dengan UNION ALL + DISTINCT) | Lebih lambat |
Jika deduplikasi tidak diperlukan, gunakan UNION ALL.
Batasan
Satu kueri tidak dapat mencampur
UNIONdanUNION ALL.
Sintaksis
query:
select_statement
UNION [ALL]
select_statement
[UNION [ALL]
select_statement];Contoh
Gabungkan dua set hasil
SELECT nid, brand, price, size FROM phone WHERE nid < 5
UNION ALL
SELECT nid, brand, price, size FROM phone WHERE nid > 5Gabungkan lebih dari dua set hasil
SELECT nid, brand, price, size FROM phone WHERE nid >= 3 AND nid <= 5
UNION ALL
SELECT nid, brand, price, size FROM phone WHERE nid >= 6 AND nid <= 10
UNION ALL
SELECT nid, brand, price, size FROM phone WHERE nid >= 30 AND nid <= 40