Tutorial klasik...login
Tutorial klasik SQLite
pengarang:php.cn  masa kemas kini:2022-04-13 17:05:02

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:

PILIH lajur1 [, lajur2 ]
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:

sqlite> Id nama umur ------ ----------
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:

ID     DEPT     EMP_ID
-------------------- ----------- ----------
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
UNION
PILIH EMP_ID, NAMA, DEPT F ROM SYARIKAT KETINGGIAN OUTER JOIN DEPARTMENT

DI COMPANY.ID = DEPARTMENT.EMP_ID;

Ini akan menghasilkan keputusan berikut:

EMP_ID                                                                                                                                                                      --- ----------
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

UNION ALL

Sintaks asas adalah seperti berikut:

PILIH lajur1 [, lajur2 ]

DARI jadual1 [, table2 ]

[WHERE condition]

UNION ALL

PILIH lajur1 [, lajur2 ]
DARI jadual1 [, jadual2 ]
[WHERE condition]


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:
sqlite> SELECT EMP_ID, NAME , JABATAN DARI JABATAN DALAM SYARIKAT

DI COMPANY.ID = JABATAN.EMP_ID

KESATUAN SEMUA

PILIH EMP_ID, NAMA, JABATAN DARI SYARIKAT LEFT OUTER JOIN DEPARTMENT

ON DEPARTMENT.ID 🎜>

这将产生以下结果:

EMP_ID      NAMA                  DEPT
----------  ---------------- ---- ----------
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