一、單表查詢
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;
結果: