mysql數(shù)據(jù)庫的內(nèi)外連接
mysql內(nèi)外連接
表的內(nèi)外連接是mysql中比較常用的內(nèi)容 也是我們學(xué)習(xí)mysql的重點
但是其實它的內(nèi)容和語法都是很少很簡單的
內(nèi)連接
內(nèi)連接實際上就是利用where子句對兩種表形成的笛卡兒積進行篩選,我們前面學(xué)習(xí)的查詢都是內(nèi)連 接,也是在開發(fā)過程中使用的最多的連接查詢
語法
select 字段 from 表1 inner join 表2 on 連接條件 and 其他條件;
不過其實這里我并不推薦大家使用內(nèi)連接 因為使用內(nèi)連接的場景都可以使用笛卡爾積來替代
比如說下面的幾道例題
顯示SMITH的名字和部門名稱
這是使用笛卡爾積做出的結(jié)果
這是使用內(nèi)連接做出的結(jié)果
外連接 左外連接
如果聯(lián)合查詢,左側(cè)的表完全顯示我們就說是左外連接。
左外連接的語法格式是這樣子的
select 字段名 from 表名1 left join 表名2 on 連接條件
下面是案例
查詢所有學(xué)生的成績,如果這個學(xué)生沒有成績,也要將學(xué)生的個人信息顯示出來
-- 建兩張表 create table stu (id int, name varchar(30)); -- 學(xué)生表 insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono'); create table exam (id int, grade int); -- 成績表 insert into exam values(1, 56),(2,76),(11, 8);
在我們前面使用笛卡爾積做的時候會刪除掉一些“無效數(shù)據(jù)” 但是有時候我們不想要這些數(shù)據(jù)被刪除 此時我們就可以使用左外連接來處理
使用左外連接之后 我們可以查找一些所謂的‘無效數(shù)據(jù)’
這里我們就可以發(fā)現(xiàn) exam的id為null依舊顯示出來了
右外連接
右外連接和左外連接之間只差了一個關(guān)鍵字
語法:
select 字段名 from 表名1 right join 表名2 on 連接條件
我們還是使用上面的題目 稍微改變下語法即可
總結(jié)
到此這篇關(guān)于mysql數(shù)據(jù)庫的內(nèi)外連接的文章就介紹到這了,更多相關(guān)mysql內(nèi)外連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
windows下mysql 5.7.20 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了windows下mysql 5.7.20 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09MySQL中SQL連接操作左連接查詢(LEFT?JOIN)示例詳解
這篇文章主要給大家介紹了關(guān)于MySQL中SQL連接操作左連接查詢(LEFT?JOIN)的相關(guān)資料,左連接(LEFT?JOIN)是SQL中用于連接兩個或多個表的一種操作,它返回左表的所有行,并根據(jù)連接條件從右表中匹配行,需要的朋友可以參考下2024-12-12mysql跨服務(wù)查詢之FEDERATED存儲引擎的實現(xiàn)
本文主要介紹了mysql跨服務(wù)查詢之FEDERATED存儲引擎的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Mysql中 show table status 獲取表信息的方法
這篇文章主要介紹了Mysql中 show table status 獲取表信息的方法的相關(guān)資料,需要的朋友可以參考下2016-03-03