首頁  >  文章  >  資料庫  >  如何使用MySQL的UNION函數合併多個查詢結果

如何使用MySQL的UNION函數合併多個查詢結果

WBOY
WBOY原創
2023-07-25 10:01:482390瀏覽

如何使用MySQL的UNION函數合併多個查詢結果

MySQL是一種常用的關聯式資料庫管理系統,提供了豐富的功能和語法來進行資料查詢和操作。其中,UNION函數是一種常用的方法,用於合併多個查詢結果,可以有效地進行資料集的合併和整合。本文將介紹如何使用MySQL的UNION函數來實現此功能,並提供對應的程式碼範例。

一、UNION函數的基本用法和語法

UNION是一種用於合併多個查詢結果的功能。其基本語法如下:

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

其中:

  • column1, column2, ... 是要選擇的列名。
  • table1, table2, ... 是要查詢的表名。

注意,UNION函數要求被合併的查詢結果必須具有相同的列數和相似的資料類型。

二、使用UNION函數合併多個查詢結果

下面是一個簡單的範例。假設有兩個表:table1和table2。

-- 创建表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);

現在,我們需要合併這兩個表的查詢結果,可以使用UNION函數來實現。

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

透過上述程式碼,我們可以得到以下結果:

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

三、UNION函數的其他用法

除了基本的用法外,UNION函數還有一些其他的用法和注意事項。

  1. UNION ALL:UNION ALL和UNION的功能類似,但它不進行去重操作。如果需要保留重複的行,可以使用UNION ALL。
SELECT id, name FROM table1
UNION ALL
SELECT id, CAST(salary AS CHAR) AS name FROM table2;
  1. ORDER BY 子句:可以在UNION函數後面加上ORDER BY子句,來對結果進行排序。
SELECT id, name FROM table1
UNION
SELECT id, CAST(salary AS CHAR) AS name FROM table2
ORDER BY id;
  1. 需要注意的事項:
  2. UNION函數要求被合併的查詢結果必須具有相同的列數和相似的資料型別。
  3. UNION函數預設去重,如果需要保留重複的行,可以使用UNION ALL。
  4. UNION函數會自動將查詢結果排序,如果需要指定排序的規則,可以使用ORDER BY子句。

四、總結

MySQL的UNION函數是一種方便的方法,用於合併多個查詢結果。透過UNION函數,我們可以靈活地對資料集進行整合和合併。本文介紹了UNION函數的基本用法和語法,並提供了對應的程式碼範例。希望透過本文的介紹,讀者可以更熟練地運用UNION函數來進行資料查詢與操作。

以上是如何使用MySQL的UNION函數合併多個查詢結果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn