MySQL中union和unionall區(qū)別
union:對多個結(jié)果集進行并集操作,不包括重復行,同時進行排序。
union all:對多個結(jié)果集進行并集操作,包括重復行,不進行排序。
查詢部門小于30號的員工信息,和部門大于20小于40號的員工信息。
①.先查詢部門小于30號的員工信息。
SELECT
employees_id
,last_name
,salary
,department_id
FROM employees
WHERE department_id < 30; ```
查詢部門大于20小于40的員工信息。
SELECT
employees_id
,last_name
,salary
,department_id
FROM
employees
WHERE
department_id BETWEEN 20 and 40;```
③.用union連接兩張表
SELECT
employees_id
,last_name
,salary
,department_id
FROM
employees
WHERE
department_id < 30
UNION
SELECT
employees_id
,last_name
,salary
,department_id
FROM
employees
WHERE
department_id BETWEEN 20 and 40; ```
其結(jié)果默認排序并去重,兩張表都有30號部門信息,結(jié)果只出現(xiàn)一次。

④.下面用union all連接兩張表
SELECT
employees_id
,last_name
,salary
,department_id
FROM
employees
WHERE
department_id < 30
UNION ALL
SELECT
employees_id
,last_name
,salary
,department_id
FROM
employees
WHERE
department_id BETWEEN 20 and 40; ```
其結(jié)果沒有去重,也沒有排序,排序結(jié)果對比下邊結(jié)果,先去查詢20到40的員工信息,在查小于30的員工信息。

⑤.對比查詢結(jié)果
SELECT
employees_id
,last_name
,salary
,department_id
FROM
employees
WHERE
department_id BETWEEN 20 and 40
UNION ALL
SELECT
employees_id
,last_name
,salary
,department_id
FROM employees
WHERE department_id < 30;```
默認是沒有進行排序的。
到此這篇關于MySQL中union和unionall區(qū)別的文章就介紹到這了,更多相關MySQL union和unionall內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
linux系統(tǒng)下實現(xiàn)mysql熱備份詳細步驟(mysql主從復制)
這篇文章主要介紹了linux系統(tǒng)下實現(xiàn)MySQL主從熱備份2013-12-12
Mysql關于數(shù)據(jù)庫是否應該使用外鍵約束詳解說明
MySQL 外鍵約束(FOREIGN KEY)是表的一個特殊字段,經(jīng)常與主鍵約束一起使用。對于兩個具有關聯(lián)關系的表而言,相關聯(lián)字段中主鍵所在的表就是主表,外鍵所在的表就是從表。外鍵用來建立主表與從表的關聯(lián)關系,為兩個表的數(shù)據(jù)建立連接,約束兩個表中數(shù)據(jù)的一致性和完整性2021-10-10
詳細聊一聊mysql的樹形結(jié)構(gòu)存儲以及查詢
由于mysql是關系型數(shù)據(jù)庫,因此對于類似組織架構(gòu),子任務等相關的樹形結(jié)構(gòu)的處理不是很友好,下面這篇文章主要給大家介紹了關于mysql樹形結(jié)構(gòu)存儲以及查詢的相關資料,需要的朋友可以參考下2022-04-04
MySQL null與not null和null與空值''''''''的區(qū)別詳解
這篇文章主要介紹了MySQL null與not null和null與空值''的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11

