Dalam mysql, kesatuan digunakan untuk menggabungkan hasil pernyataan pilihan berbilang ke dalam set hasil dan memadamkan data pendua dalam set hasil Sintaks ialah "pilih lajur,...dari lajur pilih kesatuan jadual1,. .dari jadual2".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
1.mysql union syntax
mysql union digunakan untuk menggabungkan data daripada berbilang pilih pernyataan Keputusan digabungkan menjadi set hasil. Sintaksnya ialah:
select column,......from table1 union [all] select column,...... from table2 ...
Dalam berbilang penyata pilihan, lajur yang sepadan harus mempunyai atribut medan yang sama dan nama medan yang digunakan dalam pernyataan pilihan pertama juga digunakan untuk nama medan hasil.
1.1 Perbezaan antara union dan union all
Apabila menggunakan union , mysql akan memadamkan rekod pendua dalam set hasil, semasa menggunakan union all , mysql akan memadam semua Rekod dikembalikan, dan kecekapannya lebih tinggi daripada kesatuan.
2. Contoh penggunaan mysql union
union biasanya digunakan untuk menanyakan dua atau lebih jadual yang serupa dengan data, seperti jadual klasifikasi data yang berbeza atau jadual sejarah data Tunggu , berikut ialah dua jadual yang digunakan untuk ujian;
2.1 Gunakan UNION untuk bertanya
untuk menanya nombor id artikel dalam dua jadual dan tajuk, dan alih keluar rekod pendua:
SELECT aid,title FROM article UNION SELECT bid,title FROM blog
Hasil pertanyaan yang dikembalikan adalah seperti berikut:
2.2.Hasil pertanyaan UNION perihalan
Rekod pendua merujuk kepada rekod di mana setiap medan dalam pertanyaan diulang sepenuhnya Seperti contoh di atas, jika tajuk adalah sama tetapi nombor id berbeza, ia dikira sebagai a rekod berbeza.
Nama medan yang digunakan dalam pernyataan SELECT pertama juga digunakan untuk nama medan hasil, seperti bantuan dalam contoh di atas.
Nama medan setiap pernyataan SELECT boleh berbeza, tetapi atribut medan mestilah konsisten.
3. Gunakan pertanyaan UNION ALL
untuk menanyakan nombor ID artikel dan tajuk dalam dua jadual, dan mengembalikan semua rekod:
SELECT aid,title FROM article UNION ALL SELECT bid,title FROM blog
Hasil pertanyaan yang dikembalikan ialah seperti berikut:
Jelas sekali, apabila menggunakan UNION ALL, anda hanya menggabungkan pelbagai pertanyaan bersama-sama tanpa menilai sama ada data diulang. Oleh itu, apabila ditentukan bahawa tidak akan ada data pendua dalam hasil pertanyaan atau tidak perlu mengalih keluar data pendua, UNION ALL harus digunakan untuk meningkatkan kecekapan pertanyaan.
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Apakah kegunaan kesatuan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!