最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中UNION 和 JOIN 多表聯(lián)合查詢方式

 更新時間:2024年11月20日 15:02:16   作者:碼農(nóng)研究僧  
本文介紹了在MySQL中UNION和JOIN兩種多表查詢的方式,包括它們的適用場景、語法和特性,JOIN用于關聯(lián)數(shù)據(jù),而UNION用于合并具有相同結構但無直接關系的數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧

前言

在 MySQL 中,UNION 和 JOIN 是多表查詢的兩種主要方式。它們有不同的適用場景和語法

兩者的差異如下:

特性JOINUNION
數(shù)據(jù)組合橫向組合,合并兩表數(shù)據(jù)到一個行內(nèi)縱向組合,合并兩表數(shù)據(jù)到多個行
數(shù)據(jù)結構要求表間需有關聯(lián)條件,如外鍵等列數(shù)和數(shù)據(jù)類型需一致
結果數(shù)據(jù)量結果記錄數(shù)量通常小于表數(shù)據(jù)量結果記錄數(shù)量可能增加
常用場景數(shù)據(jù)關聯(lián),如訂單與用戶信息查詢數(shù)據(jù)匯總,如多表的類似記錄組合

具體的使用選擇:

  • 使用 JOIN:

當需要將兩表數(shù)據(jù)按照某種邏輯相關聯(lián)時,選擇 JOIN

  • 使用 UNION:

當需要合并多表中具有相同結構但無直接關系的數(shù)據(jù)時,選擇 UNION

1. JOIN

JOIN 用于在多個表之間按一定條件關聯(lián)數(shù)據(jù)

JOIN 查詢通過指定的條件(如外鍵關系)將表橫向組合

SELECT column_names
FROM table1
[INNER|LEFT|RIGHT] JOIN table2
ON table1.column_name = table2.column_name
WHERE conditions;

基本的類型有如下:

JOIN 類型

  • INNER JOIN(內(nèi)連接)

只返回兩個表中滿足 ON 條件的記錄
若某條記錄在任一表中沒有匹配項,則不會包含在結果中
常用于提取相關數(shù)據(jù)

  • LEFT JOIN(左連接)

返回左表中的所有記錄,以及右表中與左表記錄匹配的記錄
如果右表中沒有匹配項,則結果中該記錄右表的字段為 NULL
常用于查找左表中的數(shù)據(jù)即使右表沒有匹配項時

  • RIGHT JOIN(右連接)

返回右表中的所有記錄,以及左表中與右表記錄匹配的記錄
如果左表中沒有匹配項,則結果中該記錄左表的字段為 NULL
不如 LEFT JOIN 常用

  • FULL OUTER JOIN(全連接) (MySQL 不直接支持,但可通過 UNION 模擬)

返回兩個表中所有記錄,不論是否有匹配項
不支持時用以下替代:

SELECT ...
FROM table1
LEFT JOIN table2 ON condition
UNION
SELECT ...
FROM table1
RIGHT JOIN table2 ON condition;

2. UNION

UNION 用于將兩個或多個查詢結果縱向組合為一個結果集。它對查詢的列數(shù)和數(shù)據(jù)類型有要求

基本的語法如下:

SELECT column_names
FROM table1
WHERE conditions
UNION [ALL]
SELECT column_names
FROM table2
WHERE conditions;

注意事項有如下:

  • 默認去重:

UNION 會去掉結果集中重復的記錄
若需要保留所有重復記錄,使用 UNION ALL

  • 列數(shù)和數(shù)據(jù)類型要求:

所有參與查詢的 SELECT 語句必須有相同的列數(shù)
每列的數(shù)據(jù)類型必須兼容

  • 結果排序:

可以通過在 UNION 之后的結果集中加 ORDER BY 對整體結果排序

到此這篇關于MySQL中UNION 和 JOIN 多表聯(lián)合查詢方式的文章就介紹到這了,更多相關mysql union和join內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL8?密碼強度評估與配置詳解

    MySQL8?密碼強度評估與配置詳解

    MySQL8默認啟用密碼強度插件,實施MEDIUM策略(長度8、含數(shù)字/字母/特殊字符),支持動態(tài)調(diào)整與配置文件設置,推薦使用STRONG策略并定期更新密碼以提升安全性,本文給大家介紹MySQL8密碼強度評估與配置,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • ?SQL 中 CASE 表達式的使用方式

    ?SQL 中 CASE 表達式的使用方式

    這篇文章主要介紹了?SQL 中 CASE 表達式的使用方式,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 淺談MySQL中使用IN會走索引嗎

    淺談MySQL中使用IN會走索引嗎

    本文主要介紹了淺談MySQL中使用IN會走索引嗎,通過三個案例分析了MySQL 5.7.34版本中IN操作符的執(zhí)行情況,感興趣的可以了解一下
    2025-02-02
  • MySQL提示“too?many?connections“錯誤的解決過程

    MySQL提示“too?many?connections“錯誤的解決過程

    當大量的connect之后,就會出現(xiàn)Too many connections的錯誤,下面這篇文章主要給大家介紹了關于MySQL提示“too?many?connections“錯誤的解決過程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • mysql下普通用戶備份數(shù)據(jù)庫時無lock tables權限的解決方法

    mysql下普通用戶備份數(shù)據(jù)庫時無lock tables權限的解決方法

    mysql使用普通用戶備份出現(xiàn)無lock tables權限的解決方法,需要的朋友可以參考下。
    2011-10-10
  • Mysql索引的類型和優(yōu)缺點詳解

    Mysql索引的類型和優(yōu)缺點詳解

    這篇文章主要為大家詳細介紹了Mysql索引的類型和優(yōu)缺點,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Win10下mysql 8.0.15 安裝配置圖文教程

    Win10下mysql 8.0.15 安裝配置圖文教程

    這篇文章主要為大家詳細介紹了Win10下mysql 8.0.15 安裝配置圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • mysql 5.7.18 Archive壓縮版安裝教程

    mysql 5.7.18 Archive壓縮版安裝教程

    這篇文章主要為大家詳細介紹了mysql 5.7.18 Archive壓縮版安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 如何解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫連接慢

    如何解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫連接慢

    通過內(nèi)網(wǎng)連另外一臺機器的mysql服務, 確發(fā)現(xiàn)速度N慢! 等了大約幾十秒才等到提示輸入密碼。非常急人,有沒有辦法可以解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫連接慢呢?下面小編帶領大家來解決此問題,感興趣的朋友一起看看吧
    2015-09-09
  • mysql 5.7.24 安裝配置方法圖文教程

    mysql 5.7.24 安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 5.7.24 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論

长葛市| 营口市| 宣汉县| 保靖县| 罗城| 闽清县| 简阳市| 永新县| 汝南县| 会理县| 安吉县| 潍坊市| 武宁县| 福安市| 桓台县| 和平县| 应城市| 青州市| 通河县| 新乐市| 扎囊县| 广汉市| 江津市| 上饶市| 辽中县| 房山区| 土默特左旗| 凤冈县| 原阳县| 上思县| 浦县| 彭泽县| 探索| 屏边| 清水县| 唐河县| 亳州市| 疏附县| 清涧县| 西丰县| 广东省|