Rumah  >  Artikel  >  pengaturcaraan harian  >  Penggunaan kesatuan dan kesatuan semua dalam mysql

Penggunaan kesatuan dan kesatuan semua dalam mysql

下次还敢
下次还敢asal
2024-04-27 04:09:151193semak imbas

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 kesatuan dan kesatuan semua dalam mysql

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 Pelajar> dan 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 );StudentsTeachers:

<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 nama kedua-dua jadual ini:

rrreee

Nota

  1. Set keputusan UNION dan UNION ALL mesti mempunyai nombor yang sama lajur dan Jenis data lajur yang sepadan adalah serasi.
  2. Apabila menggunakan UNION ALL, penjagaan harus diambil untuk mengelakkan data pendua mencemarkan hasilnya.
  3. UNION mempunyai prestasi yang lebih baik kerana ia tidak memerlukan penyahduplikasian sebelum bergabung.

Atas ialah kandungan terperinci Penggunaan kesatuan dan kesatuan semua dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn