Klausa anak SQLite Unions
Klausa/pengendali UNION SQLite digunakan untuk menggabungkan hasil dua atau lebih pernyataan SELECT tanpa mengembalikan sebarang baris pendua.
Untuk menggunakan UNION, bilangan lajur yang dipilih dalam setiap SELECT mestilah sama, bilangan lajur yang sama, jenis data yang sama dan pastikan lajur tersebut mempunyai susunan yang sama, tetapi ia tidak mesti sama panjang.
Sintaks
UNION Sintaks asas adalah seperti berikut:
DARI jadual1 [, jadual2 ]
[Keadaan WHERE]
KESATUAN
PILIH lajur1 [, lajur2 ]
DARI jadual1 [, jadual2 ]
[Keadaan WHERE]
Syarat yang diberikan di sini boleh berupa sebarang ungkapan mengikut keperluan.
Contoh
Andaikan terdapat dua jadual berikut, (1) Jadual SYARIKAT adalah seperti berikut:
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich -Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
(2) Jadual lain ialah JABATAN, seperti ditunjukkan di bawah:
-------------------- ----------- ----------
1 Pengebilan IT Kejuruteraan
Sekarang, mari kita sambungkan kedua-duanya menggunakan pernyataan SELECT dan jadual klausa UNION, seperti yang ditunjukkan di bawah:
sqlite> COMPANY.ID = DEPARTMENT.EMP_ID
DI COMPANY.ID = DEPARTMENT.EMP_ID;
Ini akan menghasilkan keputusan berikut:
1 Paul IT Billing<>2
Allen dalam Pengebilan IT 3 Teddy Engineerin
4 Mark Finance
5 David Engineerin
6 Kim Finance
Peraturan yang sama yang digunakan untuk UNION dikenakan kepada pengendali UNION ALL.
Sintaks asas adalah seperti berikut:
PILIH lajur1 [, lajur2 ]DARI jadual1 [, table2 ]
[WHERE condition]UNION ALL
PILIH lajur1 [, lajur2 ]Syarat yang diberikan di sini boleh berupa sebarang ungkapan mengikut keperluan.
Contoh
Sekarang, mari kita gunakan pernyataan SELECT dan klausa UNION ALL untuk menyertai dua jadual seperti berikut:
DI COMPANY.ID = JABATAN.EMP_ID
KESATUAN SEMUAPILIH EMP_ID, NAMA, JABATAN DARI SYARIKAT LEFT OUTER JOIN DEPARTMENT
ON DEPARTMENT.ID 🎜>这将产生以下结果:
---------- ---------------- ---- ----------
1 Paul IT Billing
2 Allen Engineerin
3 Teddy Engineerin
4 Mark Finance
5 David Engineerin
6 Kim Kewangan
7 James Kewangan
1 Paul Pengebilan IT
2 ineerin
3 Teddy Jurutera
4 Mark Kewangan< Jurutera
6 Kim Kewangan
7 James Kewangan