Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menggabungkan berbilang hasil pertanyaan menggunakan fungsi UNION MySQL

Bagaimana untuk menggabungkan berbilang hasil pertanyaan menggunakan fungsi UNION MySQL

WBOY
WBOYasal
2023-07-25 10:01:482415semak imbas

Cara menggunakan fungsi UNION MySQL untuk menggabungkan berbilang hasil pertanyaan

MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang menyediakan fungsi dan sintaks yang kaya untuk pertanyaan dan operasi data. Antaranya, fungsi UNION ialah kaedah yang biasa digunakan untuk menggabungkan berbilang hasil pertanyaan, yang boleh menggabungkan dan menyepadukan set data dengan berkesan. Artikel ini akan memperkenalkan cara menggunakan fungsi UNION MySQL untuk melaksanakan fungsi ini dan menyediakan contoh kod yang sepadan.

1. Penggunaan asas dan sintaks fungsi UNION

UNION ialah fungsi yang digunakan untuk menggabungkan berbilang hasil pertanyaan. Sintaks asas adalah seperti berikut:

SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2
...

di mana:

  • lajur1, lajur2, ... adalah nama lajur yang akan dipilih.
  • jadual1, jadual2, ... ialah nama jadual yang hendak disoal.

Perhatikan bahawa fungsi UNION memerlukan hasil pertanyaan yang digabungkan mesti mempunyai bilangan lajur dan jenis data yang sama.

2. Gunakan fungsi UNION untuk menggabungkan berbilang hasil pertanyaan

Berikut ialah contoh mudah. Katakan terdapat dua jadual: jadual1 dan jadual2.

-- 创建表table1
CREATE TABLE table1 (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

-- 创建表table2
CREATE TABLE table2 (
  id INT PRIMARY KEY,
  salary FLOAT
);

-- 向表table1插入数据
INSERT INTO table1 (id, name) VALUES (1, 'John');
INSERT INTO table1 (id, name) VALUES (2, 'Lisa');

-- 向表table2插入数据
INSERT INTO table2 (id, salary) VALUES (1, 5000);
INSERT INTO table2 (id, salary) VALUES (2, 6000);

Kini, kita perlu menggabungkan hasil pertanyaan kedua-dua jadual ini, yang boleh dicapai menggunakan fungsi UNION.

SELECT id, name FROM table1
UNION
SELECT id, CAST(salary AS CHAR) AS name FROM table2;

Melalui kod di atas, kita boleh mendapatkan keputusan berikut:

id  | name
-------------
1   | John
2   | Lisa
1   | 5000
2   | 6000

3 Kegunaan lain fungsi UNION

Selain penggunaan asas, fungsi UNION mempunyai beberapa kegunaan dan langkah berjaga-jaga yang lain.

  1. UNION ALL: UNION ALL mempunyai fungsi yang serupa dengan UNION, tetapi ia tidak melakukan operasi penyahduplikasian. Jika anda perlu menyimpan baris pendua, anda boleh menggunakan UNION ALL.
SELECT id, name FROM table1
UNION ALL
SELECT id, CAST(salary AS CHAR) AS name FROM table2;
  1. ORDER BY klausa: Anda boleh menambah klausa ORDER BY selepas fungsi UNION untuk mengisih keputusan.
SELECT id, name FROM table1
UNION
SELECT id, CAST(salary AS CHAR) AS name FROM table2
ORDER BY id;
  1. Perkara yang perlu diambil perhatian: Fungsi
  2. UNION memerlukan hasil pertanyaan gabungan mesti mempunyai bilangan lajur dan jenis data yang sama.
  3. Fungsi UNION mengalih keluar pendua secara lalai Jika anda perlu mengekalkan baris pendua, anda boleh menggunakan UNION ALL.
  4. Fungsi UNION akan mengisih hasil pertanyaan secara automatik Jika anda perlu menentukan peraturan pengisihan, anda boleh menggunakan klausa ORDER BY.

4. Summary

Fungsi UNION MySQL ialah kaedah yang mudah untuk menggabungkan berbilang hasil pertanyaan. Melalui fungsi UNION, kami boleh mengintegrasikan dan menggabungkan set data secara fleksibel. Artikel ini memperkenalkan penggunaan asas dan sintaks fungsi UNION dan menyediakan contoh kod yang sepadan. Kami berharap melalui pengenalan artikel ini, pembaca boleh menjadi lebih mahir dalam menggunakan fungsi UNION untuk pertanyaan dan operasi data.

Atas ialah kandungan terperinci Bagaimana untuk menggabungkan berbilang hasil pertanyaan menggunakan fungsi UNION 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