1.1 交叉連線(笛卡爾乘積現象)
交叉連線查詢(不推薦。產生笛卡爾乘積現象:4 * 4=16,有些是重覆記錄)
select empname,deptname from employee,dept;
笛卡爾乘積現象:
假如employee有4條記錄,dept有4條記錄,
那麼上面的sql查詢結果,則為 4*4 條記錄。
1.2 內連線查詢++
+ 內連線查詢:左右兩邊的表相互匹配,只有滿足條件的結果才會顯示,如果不滿足條件,則不顯示。
-- 需求:查詢員工及其所在部門(顯示員工姓名,部門名稱)
-- 內連線方式一:
select empname,deptname -- 2)確定哪些哪些字段
from employee,dept -- 1)確定查詢哪些表
where employee.deptid=dept.id -- 3)表與表之間連線條件
-- 內連線方式二:
select empname,deptname
from employee
inner join dept
on employee.deptid=dept.id;
-- 使用別名
select e.empname,d.deptname
from employee e
inner join dept d
on e.deptid=d.id;
1.3 左連線查詢++
+ 左[外]連線查詢:
1.使用左邊表的資料逐一去匹配右邊表的所有資料,如果符合連線條件的結果則顯示,
如果不符合連線條件則顯示null。
2.左外連線:左表的資料一定會全部顯示!,以左表為主。
-- 需求:查詢每個部門的員工
-- 預期結果:
軟體開發部 張三
軟體開發部 李四
應用維護部 王五
秘書部 陳六
總經辦 null
select d.deptname,e.empname
from dept d
left outer join employee e
on d.id=e.deptid;
1.4 右連線查詢++
+右[外]連線查詢:
1.使用右邊表的資料去匹配左邊表的資料,如果符合連線條件的結果則顯示,如果不符合連線條件則顯示null
2.右外連線:右表的資料一定會全部顯示!,以右表為主。
select d.deptname,e.empname
from employee e
right outer join dept d
on d.id=e.deptid;
1.5 自連線查詢-- 需求:查詢員工及其上司
-- 預期結果:
-- 張三 null
-- 李四 張三
-- 王五 李四
-- 陳六 王五
select e.empname,b.empname
from employee e
left outer join employee b
on e.bossid=b.id
資料庫關聯查詢
使用者授權,我們涉及到了三個物件 1 使用者名稱root 2 密碼 3 主機localhost 建立名字為qq的使用者 create user qq localhost 建立名字為anan使用者並新增密碼 create user anan localhost identified by 123 建立...
資料庫多表關聯查詢
本文主要列舉兩張和三張表來講述多表連線查詢。新建兩張表 表1 student 截圖如下 表2 course 截圖如下 此時這樣建表只是為了演示連線sql語句,當然實際開發中我們不會這樣建表,實際開發中這兩個表會有自己不同的主鍵。外連線可分為 左連線 右連線 完全外連線。1 左連線 left join...
mysql關聯查詢去重 MySQL 關聯查詢
mysql 關聯查詢 sql資料分析 1週前 mysql 關聯查詢 前面,我們介紹的都是單錶查詢 就是只從一張表中獲取資料 而實際應用的時候,我們都會同時查詢多張表,這裡,我們就介紹下,多表關聯查詢的使用。sql join 用於根據兩個或多個表中的列之間的關係,從這些表中查詢資料 前置知識 主鍵 p...