sql:單表與聯表查詢

一、單表查詢

Hello,看到這篇博客的寶寶們,這段時間我真是勤快,持續更博呢!雖然表達得不是那麼優美,但是,我努力跟大家分享自己的體會,happy!
我要先造幾張表:

表一:userinfo

在這裏插入圖片描述

表二:schoolinfo

在這裏插入圖片描述

表三:addressinfo

在這裏插入圖片描述

一般來說我們開始學習接觸數據庫的查詢的時候,我們都會先學習一個簡單的查詢語句:

//查詢在userinfo表裏學校是hnu的學生的名字
SELECT userinfo.user_name from userinfo WHERE user_school="hnu";

查詢結果:
在這裏插入圖片描述
覈對表格,發現查詢正確。

二、左連接

語法:inner join…on
語義:左表的內容都保留,右表匹配左表的數據。
例子:

//userinfo作爲左表
SELECT *FROM userinfo u LEFT JOIN schoolinfo s ON u.user_school=s.school_name;

結果:
在這裏插入圖片描述

三、右連接

語法:right join…on
語義:右表內容全保留,左表匹配右表數據
例子:

//userinfo作爲左表
SELECT *FROM userinfo u RIGHT JOIN schoolinfo s ON s.school_name=u.user_school;

查詢結果:
在這裏插入圖片描述

四、內連接

語法:inner join…on
例子:

select *from userinfo u INNER JOIN schoolinfo s ON u.user_school=s.school_name;

查詢結果:
在這裏插入圖片描述

五、三表內連接查詢

例子:

select u.user_name,s.school_name,a.address_nums
from userinfo u 
INNER JOIN schoolinfo s on u.user_school=s.school_name
INNER JOIN addressinfo a on s.school_address=a.address_name;

結果:
在這裏插入圖片描述

六、交叉查詢

例子:

SELECT *from userinfo u 
LEFT JOIN schoolinfo s on u.user_school=s.school_name 
UNION SELECT *FROM userinfo u RIGHT JOIN schoolinfo s ON s.school_name=u.user_school;

結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章