Operator SQL UNION menggabungkan hasil dari dua atau lebih SELECT pernyataan.
SQL UNION Operator
Operator UNION digunakan untuk menggabungkan hasil-set dari dua atau lebih SELECT pernyataan.
Perhatikan bahwa setiap pernyataan SELECT dalam UNION harus memiliki jumlah kolom yang sama. Kolom juga harus memiliki tipe data yang sama. Juga, kolom di setiap pernyataan SELECT harus dalam urutan yang sama.
SQL UNION Sintaks
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2 ;
Note: Operator UNION memilih hanya nilai yang berbeda secara default. Untuk memungkinkan nilai-nilai duplikat, gunakan kata kunci ALL dengan UNION.
SQL UNION ALL Sintaks
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2 ;
PS: Nama-nama kolom dalam hasil-set UNI biasanya sama dengan nama kolom dalam pernyataan SELECT pertama di UNION tersebut.
Demo database
Dalam tutorial ini kita akan menggunakan terkenal sampel database Northwind.
Di bawah ini adalah pilihan dari "Customers" tabel:
ID Pelanggan | Nama Pelanggan | Nama Kontak | Alamat | Kota | Kode Pos | Negara |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
Dan pilihan dari "Suppliers" tabel:
SupplierID | Nama pemasok | Nama Kontak | Alamat | Kota | Kode Pos | Negara |
---|---|---|---|---|---|---|
1 | Liquid eksotis | Charlotte Cooper | 49 Gilbert St. | London | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | PO Box 78934 | New Orleans | 70117 | Amerika Serikat |
3 | Homestead nenek Kelly | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | Amerika Serikat |
SQL UNION Contoh
Pernyataan SQL berikut memilih semua kota yang berbeda (hanya nilai yang berbeda) dari "Customers" dan "Suppliers" tabel:
Note: UNION tidak dapat digunakan untuk daftar SEMUA kota dari dua tabel. Jika beberapa pelanggan dan pemasok berbagi kota yang sama, masing-masing kota hanya akan tercantum sekali. UNION memilih nilai-nilai hanya berbeda. Gunakan UNION ALL untuk juga memilih nilai ganda!
SQL UNION ALL Contoh
Pernyataan SQL berikut menggunakan UNION ALL untuk memilih semua (duplikat juga nilai-nilai) kota dari "Customers" dan "Suppliers" tabel:
Contoh
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
Cobalah sendiri " SQL UNION ALL Dengan MANA
Pernyataan SQL berikut menggunakan UNION ALL untuk memilih semua (duplikat juga nilai-nilai) kota-kota Jerman dari "Customers" dan "Suppliers" tabel:
Contoh
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY
City;
Cobalah sendiri "