Operator MySQL UNION
Operator MySQL UNION
Operator UNION
digunakan untuk menggabungkan himpunan hasil dari dua atau lebih
SELECT
pernyataan.
- Setiap
SELECT
pernyataan di dalamnyaUNION
harus memiliki jumlah kolom yang sama - Kolom juga harus memiliki tipe data yang serupa
- Kolom dalam setiap
SELECT
pernyataan juga harus dalam urutan yang sama
Sintaks UNION
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION ALL Sintaks
Operator UNION
hanya memilih nilai yang berbeda secara default. Untuk mengizinkan nilai duplikat, gunakan UNION ALL
:
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Catatan: Nama kolom di kumpulan hasil biasanya sama dengan nama kolom di SELECT
pernyataan pertama.
Basis Data Demo
Dalam tutorial ini kita akan menggunakan database sampel Northwind yang terkenal.
Di bawah ini adalah pilihan dari tabel "Pelanggan":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Dan pilihan dari tabel "Pemasok":
SupplierID | SupplierName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | London | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly's Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
Contoh SQL UNION
Pernyataan SQL berikut mengembalikan kota (hanya nilai yang berbeda) dari tabel "Pelanggan" dan "Pemasok":
Contoh
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
Catatan: Jika beberapa pelanggan atau pemasok memiliki kota yang sama, setiap kota hanya akan dicantumkan satu kali, karena UNION
hanya memilih nilai yang berbeda. Gunakan
UNION ALL
juga untuk memilih nilai duplikat!
SQL UNION ALL Contoh
Pernyataan SQL berikut mengembalikan kota (nilai duplikat juga) dari tabel "Pelanggan" dan "Pemasok":
Contoh
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
SQL UNION Dengan WHERE
Pernyataan SQL berikut mengembalikan kota-kota Jerman (hanya nilai yang berbeda) dari tabel "Pelanggan" dan "Pemasok":
Contoh
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
SQL UNION SEMUA Dengan MANA
Pernyataan SQL berikut mengembalikan kota-kota Jerman (nilai duplikat juga) dari tabel "Pelanggan" dan "Pemasok":
Contoh
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Contoh UNION lainnya
Pernyataan SQL berikut mencantumkan semua pelanggan dan pemasok:
Contoh
SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
Perhatikan "Jenis AS" di atas - ini adalah alias. SQL Alias digunakan untuk memberi tabel atau kolom nama sementara. Alias hanya ada selama kueri. Jadi, di sini kita telah membuat kolom sementara bernama "Jenis", yang mencantumkan apakah orang yang dapat dihubungi adalah "Pelanggan" atau "Pemasok".