Rumah >pengaturcaraan harian >pengetahuan mysql >Perbezaan antara kesatuan dan kesatuan semua dalam mysql

Perbezaan antara kesatuan dan kesatuan semua dalam mysql

下次还敢
下次还敢asal
2024-04-27 04:06:13834semak imbas

Perbezaan antara UNION dan UNION ALL dalam MySQL ialah UNION menghapuskan baris pendua, manakala UNION ALL mengekalkan semua baris. UNION mengisih set keputusan secara tersirat, tetapi UNION ALL tidak.

Perbezaan antara kesatuan dan kesatuan semua dalam mysql

Perbezaan antara UNION dan UNION ALL dalam MySQL

Dalam MySQL, UNION dan UNION ALL ialah kedua-dua pengendali yang digunakan untuk menggabungkan data baris daripada set hasil pertanyaan yang berbeza. Walau bagaimanapun, terdapat perbezaan utama dalam cara keputusan diproses.

UNION

  • Hapuskan baris pendua: Pengendali UNION menghapuskan baris pendua daripada set hasil pertanyaan yang berbeza. Ia hanya menyimpan baris unik dalam set hasil.
  • Isihan tersirat: Operator UNION akan mengisih set hasil secara tersirat. Ia akan mengisih hasil berdasarkan cara data dalam set hasil pertanyaan pertama diisih.

UNION ALL

  • Simpan semua baris: Operator UNION ALL menyimpan semua baris daripada set hasil pertanyaan yang berbeza, termasuk baris pendua. Ia tidak menghapuskan pendua.
  • Tiada pengisihan tersirat: Operator UNION ALL tidak menyusun set hasil secara tersirat. Susunan set hasil akan bergantung pada susunan pertanyaan dilaksanakan.

Senario penggunaan

  • Gunakan UNION apabila anda perlu menggabungkan hasil pertanyaan yang berbeza dan menghapuskan baris pendua.
  • Gunakan UNION ALL apabila anda perlu menggabungkan hasil pertanyaan yang berbeza dan menyimpan semua baris, termasuk baris pendua.

Contoh

Andaikan terdapat dua jadual: lajur table1table2,它们都有一个名为 name.

Pertanyaan berikut menggunakan UNION untuk menggabungkan baris daripada kedua-dua jadual ini dan menghapuskan nama pendua:

<code class="sql">SELECT name FROM table1
UNION
SELECT name FROM table2;</code>

Pertanyaan berikut menggunakan UNION ALL untuk menggabungkan baris daripada kedua-dua jadual ini dan mengekalkan nama pendua:

<code class="sql">SELECT name FROM table1
UNION ALL
SELECT name FROM table2;</code>

Atas ialah kandungan terperinci Perbezaan antara 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