UNION dan UNION ALL dalam MySQL digunakan untuk menggabungkan set hasil. Perbezaannya terletak pada cara baris pendua dikendalikan. UNION mengalih keluar baris pendua, manakala UNION ALL mengekalkan semua baris. Sintaks UNION: SELECT lajur 1, lajur 2, ...DARI jadual 1 UNION SELECT lajur 1, lajur 2, ...DARI jadual 2 UNION ALL sintaks: PILIH lajur 1, lajur 2, ...DARI jadual 1 UNION SEMUA PILIH lajur 1, lajur 2, ...DARI jadual 2;
Penggunaan UNION dan UNION ALL dalam MySQL
Dalam MySQL, UNION dan UNION ALL digunakan untuk menggabungkan dua atau lebih Operator SELECT untuk pernyataan set hasil. Perbezaan utama mereka ialah cara baris pendua dikendalikan.
UNION
Pengendali UNION mengalih keluar baris pendua secara automatik apabila menggabungkan set hasil. Ia hanya mengembalikan baris unik daripada setiap set hasil.
UNION ALL
UNION ALL operator akan menyimpan semua baris termasuk baris pendua apabila menggabungkan set hasil. Ia hanya menggabungkan semua baris dalam dua atau lebih set hasil.
Penggunaan
Sintaks UNION dan UNION ALL adalah seperti berikut:
<code class="sql">SELECT 列1, 列2, ... FROM 表1 UNION SELECT 列1, 列2, ... FROM 表2; SELECT 列1, 列2, ... FROM 表1 UNION ALL SELECT 列1, 列2, ... FROM 表2;</code>
Contoh
Andaikan kita mempunyai dua jadual CREATE TABLE Students (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
CREATE TABLE Teachers (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
Students
和 Teachers
:
<code class="sql">-- 使用 UNION 移除重复行 SELECT name FROM Students UNION SELECT name FROM Teachers; -- 使用 UNION ALL 保留所有行,包括重复行 SELECT name FROM Students UNION ALL SELECT name FROM Teachers;</code>
现在,我们可以使用 UNION 和 UNION ALL 来组合这两个表的 name
Kini, kita boleh menggunakan UNION dan UNION ALL untuk menggabungkan lajur
Nota
Atas ialah kandungan terperinci Penggunaan kesatuan dan kesatuan semua dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!