Saat menangani data dalam database, kita sering cenderung menggunakan operator yang ditetapkan dalam SQL, untuk mengambil data sesuai dengan kebutuhan kita dengan menggabungkan dua atau lebih pernyataan SELECT. Pada artikel tentang SQL UNION ini, saya akan membahas operator UNION yang digunakan untuk mengambil data dengan urutan sebagai berikut:
- Apa itu operator SQL UNION?
- Sintaks:
- Sintaks UNION
- UNIKAN SEMUA Sintaks
- Perbedaan antara UNION dan UNION ALL
- Contoh SQL UNION:
- Contoh Operator UNION
- Contoh operator UNION ALL
- UNION dengan SQL Alias
- UNION dengan klausa WHERE
- UNION ALL dengan klausa WHERE
- UNI dengan GABUNG
- SERIKAT SEMUA dengan BERGABUNG
Mari kita mulai!
Apa itu operator SQL UNION?
Seperti namanya, klausa operator/ ini digunakan untuk menggabungkan hasil dari dua atau lebih pernyataan SELECT. Di sini setiap pernyataan SELECT yang digunakan dalam pernyataan UNION harus memiliki jumlah kolom yang sama dalam urutan yang sama. Juga, semua kolom yang ada dalam pernyataan SELECT harus memiliki tipe data yang serupa.
Klausa UNION hanya memberikan nilai unik sebagai output. Untuk berjaga-jaga, Anda ingin nilai duplikat, maka Anda harus menggunakan klausa UNION ALL.
Berlanjut dalam artikel tentang SQL UNION ini, mari kita pahami sintaksnya.
Sintaks SQL UNION
Sintaks UNION
SELECT Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2;
UNI ALL Syntax
SELECT Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION ALL SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2;
Melanjutkan artikel ini, mari kita pahami perbedaan antara UNION dan UNION ALL.
Perbedaan antara SQL UNION dan UNION ALL
UNION | UNI SEMUA |
Menggabungkan dua atau lebih kumpulan hasil dan tidak menyimpan nilai duplikat. | Menggabungkan dua atau lebih kumpulan hasil dan mempertahankan nilai duplikat. |
Syntax: UNION | Syntax: UNION ALL |
Selanjutnya, dalam artikel tentang SQL UNION ini, mari kita pahami berbagai cara menggunakan operator ini.
Contoh SQL UNION dan UNION ALL
Untuk pemahaman yang lebih baik, saya akan mempertimbangkan tabel berikut untuk menunjukkan contoh yang berbeda.
Meja Karyawan
EmpID | Nama | EmpAge | Kota | Kode Pos | Negara |
1 | Emma | 23 | Berlin | 12109 | Jerman |
2 | Rahul | 26 | Mumbai | 400015 | India |
3 | Aayra | 24 | New York | 10014 | AS |
4 | John | 32 | London | E1 7AE | Inggris Raya |
5 | Derek | 29 | New York | 10012 | AS |
Tabel Proyek
ProjectID | Nama | Hari Kerja | Kota | Kode Pos | Negara |
1 | Proyek 1 | 10 | Berlin | 12109 | Jerman |
2 | Proyek 2 | 7 | Mumbai | 400015 | India |
3 | Proyek 3 | 20 | Delhi | 110006 | India |
4 | Proyek 4 | 15 | Mumbai | 400015 | India |
5 | Proyek 5 | 28 | Berlin | 12109 | Jerman |
Mari kita mulai dengan contoh.
Contoh SQL UNION
Contoh Operator UNION
Tulis kueri untuk mengambil kota yang berbeda dari tabel Karyawan dan Proyek.
SELECT City FROM Employees UNION SELECT City FROM Projects ORDER BY City;
Keluaran:
Kota |
Berlin |
Delhi |
London |
Mumbai |
New York |
Contoh UNION ALL Operator
Tulis kueri untuk mengambil kota dari tabel Karyawan dan Proyek. Di sini, nilai duplikat harus disertakan.
SELECT City FROM Employees UNION ALL SELECT City FROM Projects ORDER BY City;
Keluaran:
Kota |
Berlin |
Berlin |
Berlin |
Delhi |
London |
Mumbai |
Mumbai
|
Mumbai |
New York |
New York |
Berikutnya di artikel ini, mari kita pahami cara menggunakan klausa UNION dengan SQL Alias.
UNION dengan Alias SQL
SQL Alias digunakan untuk memberi nama sementara pada tabel atau kolom. Jadi, mari kita menulis kueri untuk mendaftar semua karyawan dan proyek unik.
SELECT 'Employee' AS Type, Name, City, Country FROM Employees UNION SELECT 'Project', Name, City, Country FROM Projects;
Keluaran:
Jenis | Nama | Kota | Negara |
Karyawan | Emma | Berlin | Jerman |
Karyawan | Rahul | Mumbai | India |
Karyawan | Aayra | New York | AS |
Karyawan | John | London | Inggris Raya |
Karyawan | Derek | New York | AS |
Proyek | Proyek 1 | Berlin | Jerman |
Proyek | Proyek 2 | Mumbai | India |
Proyek | Proyek 3 | Delhi | India |
Proyek | Proyek 4 | Mumbai | India |
Proyek | Proyek 5 | Berlin | Jerman |
UNION dengan klausa WHERE
Tulis kueri untuk mengambil kota-kota berbeda di India dan kode posnya dari tabel Karyawan dan Proyek.
SELECT City, PostalCode, Country FROM Employees WHERE Country='India' UNION SELECT City, PostalCode, Country FROM Projects WHERE Country='India' ORDER BY City;
Keluaran:
Kota | Kode Pos | Negara |
Delhi | 110006 | India |
Mumbai | 400015 | India |
UNION ALL dengan klausa WHERE
Tulis kueri untuk mengambil kota-kota India dan kode posnya dari tabel Karyawan dan Proyek, di mana nilai duplikat diperbolehkan
SELECT City, PostalCode, Country FROM Employees WHERE Country='India' UNION ALL SELECT City, PostalCode, Country FROM Projects WHERE Country='India' ORDER BY City;
Keluaran:
Kota | Kode Pos | Negara |
Delhi | 110006 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Melanjutkan artikel ini, mari kita pahami cara menggunakan klausa UNION dan UNION ALL dengan JOINS. BERGABUNG dalam SQL adalah perintah yang digunakan untuk menggabungkan baris dari dua atau lebih tabel, berdasarkan kolom terkait di antara tabel tersebut.
UNION dengan BERGABUNG
Operator SQL UNION dapat digunakan dengan SQL JOINS untuk mengambil data dari dua tabel yang berbeda. Saya akan mempertimbangkan tabel berikut bersama dengan tabel Karyawan sebagai contoh.
Tabel Detail Proyek
PID | Hari Kerja | EmpID | Biaya untukProyek |
11 | 12 | 4 | 20.000 |
22 | 16 | 3 | 35000 |
33 | 30 | 1 | 60000 |
44 | 25 | 3 | 45000 |
55 | 21 | 1 | 50.000 |
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID;
Keluaran:
EmpID | Nama | Biaya untukProyek |
1 | Emma | 60000 |
1 | Emma | 50000 |
2 | Rahul | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULL |
UNI SEMUA DENGAN GABUNG
Tulis kueri untuk mengambil EmpID, Name dan CostforProject dari tabel Employee dan ProjectDetails, di mana nilai duplikat diperbolehkan.
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALL SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID;
Keluaran:
EmpID | Nama | Biaya untukProyek |
1 | Emma | 60000 |
1 | Emma | 50000 |
2 | Rahul | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULL |
4 | John | 20000 |
3 | Aayra | 35000 |
1 | Emma | 60000 |
3 | Aayra | 35000 |
1 | Emma | 50000 |
Dengan ini, saya sampai di akhir artikel tentang SQL UNION. Saya harap Anda menikmati membaca artikel ini di SQL UNION. Kami telah melihat berbagai cara untuk menggunakan perintah UNION dan UNION ALL untuk membantu Anda menulis kueri. Jika Anda ingin mempelajari lebih lanjut tentang MySQL dan mengenal database relasional open source ini, lihat DBA MySQL kami Pelatihan Sertifikasi yang dilengkapi dengan pelatihan langsung yang dipimpin instruktur dan pengalaman proyek kehidupan nyata. Pelatihan ini akan membantu Anda memahami MySQL secara mendalam dan membantu Anda menguasai subjek tersebut.
Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar ”SQL UNION” dan saya akan menghubungi Anda kembali.