【博學谷學習記錄】超強總結,用心分享|MySql連接查詢超詳細總結

一、概述在實際開發中,大部分情況下都不是在單表中進行數據操作,一般都是多張表進行聯合查詢 。通常一個業務就會對應的有好幾張表 。MySql中的連接查詢分為交叉連接 , 內連接,外連接三部分 。其中交叉連接也叫笛卡爾積 , 也是內連接的一種 。
二、連接查詢常用方法準備數據表:員工信息表(emp) 以及部門信息表(demp)
 

【博學谷學習記錄】超強總結,用心分享|MySql連接查詢超詳細總結

文章插圖
【博學谷學習記錄】超強總結,用心分享|MySql連接查詢超詳細總結

文章插圖
 1、交叉連接:也叫笛卡爾積 。特點:不使用任何選擇條件 , 直接把表1中的每個行與表2中的每個行進行一一匹配 。因此該方式會產生很多重復數據 , 用的比較少 。下面我們根據具體例子來進行詳細解讀 。
案例:查詢員工以及部門信息
select * from emp,demp;
【博學谷學習記錄】超強總結,用心分享|MySql連接查詢超詳細總結

文章插圖
我們可以看到 , 由于沒有限定條件,該結果就是兩張表記錄條數的乘積 , 這就是笛卡爾積現象 。
 2、內連接:顧名思義,就是指兩張表中有交集的部分是需要的查詢數據 。
【博學谷學習記錄】超強總結,用心分享|MySql連接查詢超詳細總結

文章插圖
內連接又細化分為等值連接、非等值連接以及自連接 。
2.1 等值連接等值連接的最大特點就是:條件是等量關系的
等值連接的語法格式:select 字段名 from 表1 inner join 表2 on 消除笛卡爾積的連接條件A=B;
案例:根據部門id查詢員工所對應的部門名稱
select name,dname from demp inner join emp where demp.dpmp = emp.dpmp;
【博學谷學習記錄】超強總結,用心分享|MySql連接查詢超詳細總結

文章插圖
2.2 非等值連接顧名思義 , 非等值連接的最大特點就是:條件不是等量關系的
非等值連接的語法格式:select 字段名 from 表1 inner join 表2 on 消除笛卡爾積的連接條件;
案例:查詢部門編號在10-20之間的員工信息以及對用的部門信息
select * from emp inner join demp where emp.dpmp=demp.dpmp and demp.dpmp between 10 and 20;

    推薦閱讀