本系列為:MySQL數(shù)據(jù)庫詳解,為千鋒教育資深Java教學老師獨家創(chuàng)作
致力于為大家講解清晰MySQL數(shù)據(jù)庫相關知識點,含有豐富的代碼案例及講解。如果感覺對大家有幫助的話,可以【點個關注】持續(xù)追更~
文末有重點總結和福利內容!
技術類問題,也歡迎大家和我們溝通交流!
前言
從今天開始本系列內容就帶各位小伙伴學習數(shù)據(jù)庫技術。數(shù)據(jù)庫技術是Java開發(fā)中必不可少的一部分知識內容。也是非常重要的技術。本系列教程由淺入深, 全面講解數(shù)據(jù)庫體系。 非常適合零基礎的小伙伴來學習。
全文大約 【1475】字, 不說廢話,只講可以讓你學到技術、明白原理的純干貨!本文帶有豐富案例及配圖,讓你更好的理解和運用文中的技術概念,并可以給你帶來具有足夠啟迪的思考…
一. 表關系
各位小伙伴在學習多表連接查詢前,首先我們要介紹下表與表之間的關系。在多張表中,表和表之間是有四種關系的,分別是:一對一、一對多、多對一、多對多四種。
1. 一對一關系
所謂一對一關系就是兩張表中,一張表的一條數(shù)據(jù)對應另一張表的一條數(shù)據(jù)。
下圖中學生表和學生詳情表的id起到了一個對應一個的關系,這就是一對一關系。
2. 一對多關系
一對多關系就是一張表的某一條數(shù)據(jù)對應另一張表的N多條數(shù)據(jù),這種關系就是一對多。
例如下圖中teacher講師表中的tid為02的數(shù)據(jù)這條對應subject科目表中的SpringCloud、Redis、RabbitMQ這三條數(shù)據(jù)因為他們的teaid字段的值都是2。
3. 多對一關系
將一對多關系反過來看就是多對一了。
例如下圖中subject科目表中的SpringCloud、Redis、RabbitMQ
這三條數(shù)據(jù)都對應teacher講師表中的這條數(shù)據(jù)。
4. 多對多關系
多對多關系需要借助一張關聯(lián)表來完成。如下圖,student學生表和score成績表的關系是一對多,subject科目表和score成績表的關系是一對多。那么student學生表和subject科目表的關系就是N:N多對多的關系。借助score成績表作為關聯(lián)表來完成多對多關系。
二. 表連接查詢
下面帶各位小伙伴一起學習表連接查詢。
表連接查詢一共分為三種分別是:內連接,左外連接,右外連接三種方式。
語法:SELECT 列名 FROM 表1 連接方式 表2 ON 連接條件
1. 內連接查詢(INNER JOIN ON)
敲黑板啦,大家畫重點哦
特點: 內連接是將兩張表有關聯(lián)關系的數(shù)據(jù)顯示出來,沒有關聯(lián)關系的不顯示。
#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;
經(jīng)驗: 在 MySql 中,第二種方式也可以作為內連接查詢,但是不符合 SQL 標準。
而第一種屬于 SQL 標準,與其他關系型數(shù)據(jù)庫通用。
2. 左外連接(LEFT JOIN ON)
特點: 左外連接是以LEFT JOIN關鍵字左邊為左表,關鍵字右邊為右表。左表的數(shù)據(jù)全顯示出來,右表的數(shù)據(jù)有關聯(lián)關系的正常顯示,沒有關聯(lián)關系的顯示null。
#查詢所有學生和成績
select * from student a LEFT JOIN score b ON a.SId = b.stuId;
注意: 左外連接,是以左表為主表,依次向右匹配,匹配到,返回結果。
匹配不到,則返回 NULL 值填充。
3. 右外連接(RIGHT JOIN ON)
特點: 右外連接是以RIGHT JOIN關鍵字左邊為左表,關鍵字右邊為右表。右表的數(shù)據(jù)全顯示出來,左表的數(shù)據(jù)有關聯(lián)關系的正常顯示,沒有關聯(lián)關系的顯示null。
#查詢所有學生和成績
select * from student a RIGHT JOIN score b ON a.SId = b.stuId;
注意: 右外連接,是以右表為主表,依次向左匹配,匹配到,返回結果。
匹配不到,則返回 NULL 值填充。
三. 結語
最后在這里對本文核心要點進行總結:
熟練掌握表與表之間的四種關系:一對一、一對多、多對一、多對多。
熟練掌握表關聯(lián)查詢的三種方式:內連接查詢、左外連接查詢、右外連接查詢,并熟記他們的特點。文章來源:http://www.zghlxwxcb.cn/news/detail-449526.html
附贈福利!
千鋒教育2023新版MySQL課程,MySQL數(shù)據(jù)庫零基礎從入門到精通全套視頻,點擊下方鏈接即可學習!
視頻傳送門:
MySQL數(shù)據(jù)庫零基礎入門到精通全套視頻,點擊跳轉專欄學習文章來源地址http://www.zghlxwxcb.cn/news/detail-449526.html
到了這里,關于【由淺入深學MySQL】- MySQL連接查詢的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!