天天看點

MySQL資料庫連接配接查詢表關系、表連結查詢詳解

作者:千鋒教育

本系列為:MySQL資料庫詳解,為千鋒教育資深Java教學老師獨家創作

緻力于為大家講解清晰MySQL資料庫相關知識點,含有豐富的代碼案例及講解。如果感覺對大家有幫助的話,可以【關注】持續追更~

文末有重點總結和福利内容! 技術類問題,也歡迎大家和我們溝通交流!

前言

從今天開始本系列内容就帶各位小夥伴學習資料庫技術。資料庫技術是Java開發中必不可少的一部分知識内容。也是非常重要的技術。本系列教程由淺入深, 全面講解資料庫體系。 非常适合零基礎的小夥伴來學習。

全文大約 【1475】字, 不說廢話,隻講可以讓你學到技術、明白原理的純幹貨!本文帶有豐富案例及配圖,讓你更好的了解和運用文中的技術概念,并可以給你帶來具有足夠啟迪的思考......

一. 表關系

各位小夥伴在學習多表連接配接查詢前,首先我們要介紹下表與表之間的關系。在多張表中,表和表之間是有四種關系的,分别是:一對一、一對多、多對一、多對多四種。

1. 一對一關系

所謂一對一關系就是兩張表中,一張表的一條資料對應另一張表的一條資料。

下圖中學生表和學生詳情表的id起到了一個對應一個的關系,這就是一對一關系。

MySQL資料庫連接配接查詢表關系、表連結查詢詳解

2. 一對多關系

一對多關系就是一張表的某一條資料對應另一張表的N多條資料,這種關系就是一對多。

例如下圖中teacher講師表中的tid為02的資料這條對應subject科目表中的SpringCloud、Redis、RabbitMQ這三條資料因為他們的teaid字段的值都是2。

MySQL資料庫連接配接查詢表關系、表連結查詢詳解

3. 多對一關系

将一對多關系反過來看就是多對一了。

例如下圖中subject科目表中的SpringCloud、Redis、RabbitMQ這三條資料都對應teacher講師表中的這條資料。

MySQL資料庫連接配接查詢表關系、表連結查詢詳解

4. 多對多關系

多對多關系需要借助一張關聯表來完成。如下圖,student學生表和score成績表的關系是一對多,subject科目表和score成績表的關系是一對多。那麼student學生表和subject科目表的關系就是N:N多對多的關系。借助score成績表作為關聯表來完成多對多關系。

MySQL資料庫連接配接查詢表關系、表連結查詢詳解

二. 表連接配接查詢

下面帶各位小夥伴一起學習表連接配接查詢。

表連接配接查詢一共分為三種分别是:内連接配接,左外連接配接,右外連接配接三種方式。

文法:SELECT 列名 FROM 表1 連接配接方式 表2 ON 連接配接條件

1. 内連接配接查詢(INNER JOIN ON)

敲黑闆啦,大家畫重點哦

特點: 内連接配接是将兩張表有關聯關系的資料顯示出來,沒有關聯關系的不顯示。

SQL複制代碼#1.查詢每個講師所教的科目(顯式内連接配接)
select * from teacher a INNER JOIN `subject` b on a.TId=b.teaid;

#2.查詢每個講師所教的科目(隐式内連接配接)
select * from teacher a , `subject` b where a.TId=b.teaid;           
MySQL資料庫連接配接查詢表關系、表連結查詢詳解

經驗: 在 MySql 中,第二種方式也可以作為内連接配接查詢,但是不符合 SQL 标準。

而第一種屬于 SQL 标準,與其他關系型資料庫通用。

2. 左外連接配接(LEFT JOIN ON)

特點: 左外連接配接是以LEFT JOIN關鍵字左邊為左表,關鍵字右邊為右表。左表的資料全顯示出來,右表的資料有關聯關系的正常顯示,沒有關聯關系的顯示null。

SQL複制代碼#查詢所有學生和成績
select * from student a LEFT JOIN score b ON a.SId = b.stuId;
           
MySQL資料庫連接配接查詢表關系、表連結查詢詳解

注意: 左外連接配接,是以左表為主表,依次向右比對,比對到,傳回結果。

比對不到,則傳回 NULL 值填充。

3. 右外連接配接(RIGHT JOIN ON)

特點: 右外連接配接是以RIGHT JOIN關鍵字左邊為左表,關鍵字右邊為右表。右表的資料全顯示出來,左表的資料有關聯關系的正常顯示,沒有關聯關系的顯示null。

SQL複制代碼#查詢所有學生和成績
select * from student a RIGHT JOIN score b ON a.SId = b.stuId;           
MySQL資料庫連接配接查詢表關系、表連結查詢詳解

注意: 右外連接配接,是以右表為主表,依次向左比對,比對到,傳回結果。

比對不到,則傳回 NULL 值填充。

三. 結語

最後在這裡對本文核心要點進行總結:

熟練掌握表與表之間的四種關系:一對一、一對多、多對一、多對多。

熟練掌握表關聯查詢的三種方式:内連接配接查詢、左外連接配接查詢、右外連接配接查詢,并熟記他們的特點。

附贈福利!

千鋒教育2023新版MySQL課程,MySQL資料庫零基礎從入門到精通全套視訊,點選下方連結即可學習!

MySQL資料庫連接配接查詢表關系、表連結查詢詳解

視訊傳送門(點選即可跳轉學習):「連結」

更多技術類幹貨内容/IT程式員相關知識,關注@千鋒教育

繼續閱讀