Section Artikel
Operator SQL UNION
Operator UNION digunakan untuk menggabungkan kumpulan hasil dari dua atau lebih pernyataan SELECT.
- Setiap pernyataan SELECT dalam UNION harus memiliki jumlah kolom yang sama
- Kolom juga harus memiliki tipe data yang serupa
- Kolom di setiap pernyataan SELECT juga harus dalam urutan yang sama
Syntax UNION
SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;
Syntax UNION ALL
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 dalam kumpulan hasil biasanya sama dengan nama kolom dalam pernyataan SELECT pertama di UNION.
Contoh Database
Dalam tutorial ini kita akan menggunakan database contoh Northwind yang terkenal.
Di bawah ini adalah pilihan dari tabel “Customers”:
IdCustomer | NamaCustomer | NamaKontak | Alamat | Kota | KodePos | Negara |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Jerman |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexiko |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexiko |
Dan pilihan dari tabel “Suppliers”:
IdSupplier | NamaSupplier | NamaKontak | Alamat | Kota | KodePos | Negara |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | London | EC1 4SD | Inggris |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | Amerika |
3 | Grandma Kelly’s Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | Amerika |
Contoh SQL UNION
Pernyataan SQL berikut mengembalikan kota (hanya nilai yang berbeda) dari tabel “Customers” dan “Suppliers”:
Contoh
SELECT Kota FROM Customers UNION SELECT Kota FROM Suppliers ORDER BY Kota;
Catatan: Jika beberapa customer atau supplier memiliki kota yang sama, setiap kota hanya akan dicantumkan sekali, karena UNION hanya memilih nilai yang berbeda. Gunakan UNION ALL juga untuk memilih nilai duplikat!
Contoh SQL UNION ALL
Pernyataan SQL berikut mengembalikan kota (juga nilai duplikat) dari tabel “Customers” dan “Suppliers”:
Contoh
SELECT Kota FROM Customers UNION ALL SELECT Kota FROM Suppliers ORDER BY Kota;
SQL UNION Dengan WHERE
Pernyataan SQL berikut mengembalikan kota di Jerman (hanya nilai yang berbeda) dari tabel “Customers” dan “Suppliers”:
Contoh
SELECT Kota, Negara FROM Customers WHERE Negara='Jerman' UNION SELECT Kota, Negara FROM Suppliers WHERE Negara='Jerman' ORDER BY Kota;
SQL UNION ALL Dengan WHERE
Pernyataan SQL berikut mengembalikan kota di Jerman (juga nilai duplikat) dari tabel Customers” dan “Suppliers”:
Contoh
SELECT Kota, Negara FROM Customers WHERE Negara='Jerman' UNION ALL SELECT Kota, Negara FROM Suppliers WHERE Negara='Jerman' ORDER BY Kota;
Contoh UNION lainnya
Pernyataan SQL berikut mencantumkan semua customer dan supplier:
Contoh
SELECT 'Customer' AS Type, NamaKontak, Kota, Negara FROM Customers UNION SELECT 'Supplier', NamaKontak, Kota, Negara FROM Suppliers;
Perhatikan “AS Type” di atas – ini adalah alias. Alias SQL digunakan untuk memberi nama sementara pada tabel atau kolom. Alias hanya ada selama kueri. Jadi, di sini kita membuat kolom sementara bernama “Type”, yang mencantumkan apakah orang yang dapat dihubungi adalah “Customers” atau “Suppliers”.