Semasa mengendalikan data dalam pangkalan data, kami sering menggunakan operator set di SQL , untuk mengambil data mengikut keperluan kami dengan menggabungkan dua atau lebih pernyataan SELECT. Dalam artikel ini mengenai SQL UNION, saya akan membincangkan pengendali UNION yang digunakan untuk mengambil data dalam urutan berikut:
Mari kita mulakan!
Apakah pengendali SQL UNION?
Seperti namanya, operator / klausa ini digunakan untuk menggabungkan hasil dua atau lebih pernyataan SELECT. Di sini setiap pernyataan SELECT yang digunakan dalam pernyataan UNION mesti mempunyai bilangan lajur yang sama dalam urutan yang sama. Juga, semua lajur yang terdapat dalam pernyataan PILIH mesti mempunyai jenis data yang serupa.
Klausa UNION hanya memberikan nilai unik sebagai output. Sekiranya anda mahukan nilai pendua, maka anda mesti menggunakan klausa UNION ALL.
Melanjutkan artikel ini mengenai SQL UNION, mari kita memahami sintaksnya.
Sintaks SQL UNION
Sintaks UNION
SELECT Column1, Column2, Column3, ..., ColumnN DARI Jadual1 UNION SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2
UNION SEMUA Sintaks
SELECT Column1, Column2, Column3, ..., ColumnN DARI Jadual1 UNION ALL SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2
Melanjutkan artikel ini, marilah kita memahami perbezaan antara UNION dan UNION ALL.
Perbezaan antara SQL UNION dan UNION ALL
KESATUAN | UNION SEMUA |
Menggabungkan dua atau lebih set hasil dan tidak menyimpan nilai pendua. | Menggabungkan dua atau lebih set hasil dan mengekalkan nilai pendua. |
Sintaks: KESATUAN | Sintaks: UNION SEMUA |
Seterusnya, dalam artikel ini mengenai SQL UNION, marilah kita memahami pelbagai cara untuk menggunakan pengendali ini.
Contohnya SQL UNION dan UNION SEMUA
Untuk pemahaman anda yang lebih baik, saya akan mempertimbangkan jadual berikut untuk menunjukkan kepada anda pelbagai contoh.
tutorial qlikview langkah demi langkah
Jadual Pekerja
Empid | Nama | EmpAge | Bandar | Poskod | Negara |
satu | Emma | 2. 3 | Berlin | 12109 | Jerman |
2 | Rahul | 26 | Mumbai | 400015 | India |
3 | Aayra | 24 | New York | 10014 | PENGGUNAAN |
4 | John | 32 | London | E1 7AE | UK |
5 | Derek | 29 | New York | 10012 | PENGGUNAAN |
Jadual Projek
ProjekID | Nama | Hari bekerja | Bandar | Poskod | Negara |
satu | Projek 1 | 10 | Berlin | 12109 | Jerman |
2 | Projek 2 | 7 | Mumbai | 400015 | India |
3 | Projek 3 | dua puluh | Delhi | 110006 | India |
4 | Projek 4 | lima belas | Mumbai | 400015 | India |
5 | Projek 5 | 28 | Berlin | 12109 | Jerman |
Mari kita mulakan dengan contoh.
Contoh SQL UNION
Contoh Operator UNION
Tulis pertanyaan untuk mengambil bandar yang berbeza dari jadual Pekerja dan Projek.
PILIH Bandar DARI Kakitangan UNION PILIH Bandar DARI Projek YANG DIPESAN DENGAN Bandar
Pengeluaran:
Bandar |
Berlin |
Delhi |
London |
Mumbai |
New York |
UNION SEMUA Operator
Tulis pertanyaan untuk mengambil bandar dari jadual Pekerja dan Projek. Di sini, nilai pendua mesti disertakan.
PILIH Bandar DARI Kakitangan UNION SEMUA PILIH Bandar DARI Projek YANG DIPESAN DENGAN Bandar
Pengeluaran:
Bandar |
Berlin |
Berlin |
Berlin |
Delhi |
London |
Mumbai |
Mumbai |
Mumbai apakah perbezaan antara kelas abstrak dan antara muka? |
New York |
New York |
Selanjutnya dalam artikel ini, mari kita memahami cara menggunakan klausa UNION dengan SQL Aliases.
UNION dengan SQL Aliases
Alias SQL digunakanuntuk memberi nama sementara jadual atau lajur. Oleh itu, marilah kita menulis pertanyaan untuk menyenaraikan semua pekerja dan projek unik.
PILIH 'Pekerja' AS Jenis, Nama, Bandar, Negara DARI Pekerja UNION PILIH 'Projek', Nama, Bandar, Negara DARI Projek
Pengeluaran:
Jenis | Nama | Bandar | Negara |
Pekerja | Emma | Berlin | Jerman |
Pekerja | Rahul | Mumbai | India |
Pekerja | Aayra | New York | PENGGUNAAN |
Pekerja | John | London | UK |
Pekerja | Derek | New York | PENGGUNAAN |
Projek | Projek 1 | Berlin | Jerman |
Projek | Projek 2 | Mumbai | India |
Projek | Projek 3 | Delhi | India |
Projek | Projek 4 | Mumbai | India |
Projek | Projek 5 | Berlin | Jerman |
UNION dengan klausa DI MANA
Tulis pertanyaan untuk mendapatkan semula bandar-bandar India yang berbeza dan kod pos mereka dari jadual Pekerja dan Projek.
SELECT City, PostalCode, Country FROM Employees WHERE Country = 'India' UNION SELECT City, PostalCode, Country DARI Projek DI MANA Negara = 'India' ORDER MENGIKUT Bandar
Pengeluaran:
Bandar | Poskod | Negara |
Delhi | 110006 | India |
Mumbai | 400015 | India |
UNION SEMUA dengan klausa DI MANA
Tulis pertanyaan untuk mendapatkan semula bandar-bandar di India dan kod pos mereka dari jadual Pekerja dan Projek, di mana nilai pendua dibenarkan
SELECT City, PostalCode, Country FROM Employees WHERE Country = 'India' UNION SELECT SELECT City, PostalCode, Country DARI Projek DI MANA Negara = 'India' ORDER BY City
Pengeluaran:
Bandar | Poskod | Negara |
Delhi | 110006 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Melangkah ke hadapan dalam artikel ini, marilah kita memahami cara menggunakan klausa UNION dan UNION SEMUA dengan BERSAMA.BERSAMA dalam SQL adalah yang digunakan untuk menggabungkan baris dari dua atau lebih jadual, berdasarkan lajur yang berkaitan antara jadual tersebut.
BERSATU dengan BERSAMA
Pengendali SQL UNION boleh digunakan dengan untuk mengambil data dari dua jadual yang berbeza. Saya akan mempertimbangkan jadual berikut bersama dengan jadual Pekerja untuk contohnya.
Jadual Butiran Projek
PID | Hari bekerja | Empid | Projek Kos |
sebelas | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | satu | 60000 |
44 | 25 | 3 | 45000 |
55 | dua puluh satu | satu | 50,000 |
PILIH EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION PILIH EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Pengeluaran:
Empid | Nama | Projek Kos |
satu | Emma | 60000 |
satu | Emma | 50,000 |
2 | Rahul | BULAN |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | BULAN |
UNION SEMUA dengan BERSAMA
Tulis pertanyaan untuk mendapatkan jadual EmpID, Name dan CostforProject dari Employees dan ProjectDetails, di mana nilai pendua dibenarkan.
PILIH EmpID, Name, CostforProject FROM Employee LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SEMUA PILIH EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Pengeluaran:
Empid | Nama | Projek Kos |
satu | Emma | 60000 |
satu | Emma | 50,000 |
2 | Rahul | BULAN |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | BULAN |
4 | John | 20000 |
3 | Aayra | 35000 |
satu | Emma | 60000 |
3 | Aayra | 35000 |
satu | Emma | 50,000 |
Dengan ini, saya sampai pada akhir artikel ini mengenai SQL UNION. Saya harap anda seronok membaca artikel ini di SQL UNION. Kami telah melihat pelbagai cara untuk menggunakan perintah UNION dan UNION ALL untuk membantu anda menulis pertanyaan. Sekiranya anda ingin mengetahui lebih lanjut mengenai MySQL dan kenali pangkalan data hubungan sumber terbuka ini, kemudian periksa kami yang dilengkapi dengan latihan langsung yang dipimpin oleh instruktur dan pengalaman projek kehidupan sebenar. Latihan ini akan membantu anda memahami MySQL secara mendalam dan membantu anda mencapai penguasaan terhadap subjek ini.
Ada soalan untuk kami? Sila sebutkan di bahagian komen 'SQL UNION' dan saya akan menghubungi anda.