課程
/數據庫
/MySQL
/MySQL開發技巧(一)
什么時候要用left join,它的連接條件怎么確定,怎么知道用哪個表作為左表,又怎么確定要查詢哪些字段呢,求解答。謝謝!
2015-12-31
源自:MySQL開發技巧(一) 2-2
正在回答
第一個問題:什么時候用left join?說說我的理解
兩個表(left join左邊的表稱為左表,右邊的稱為右表)有主外鍵關聯時,這個是前提條件,我們想同時查詢兩個表中的信息,這個時候可以采用這種left join,當然也可以用right join,簡單說一下區別,left join是以左表為主,就是查詢出左表的全部數據并查詢出右表的主外鍵關聯數據,right join相反。你可以找點文章看看。
第二個問題:連接條件怎么確定?
SELECT?*?FROM?beasp_user?u?LEFT?JOIN?beasp_address?a?ON?u.`id`=a.`user_id`
這里u.'id' 中的 id 為左表的主鍵,a.'user_id'為右表的外鍵,指向 u 表的主鍵。就是主外鍵關聯作為條件。
第三個問題:怎么知道用那個表作為左表?
就像第一個問題中所說的,想查詢某個表中的所有內容,查詢另一個表中的關聯內容,那么想查詢所有內容的表作為左表。
第四個問題:怎么確定要查詢那些字段?
* 代表查詢所有字段,如果想查詢某個表的字段,可以使用 "表名(如果有別名,就用別名).*",如果想查詢部分字段,可以使用“表名(如果有別名,就用別名).字段名”,如果字段有沖突,就為字段重新命名!
樓上大神 啊
舉報
DBA和開發人員都必備的技能,SQL技巧一個好程序員必備技能
1 回答left join union all right join 后怎么產笛卡爾積了?
1 回答請問,為什么left join比子查詢效率高?
2 回答到底是left join 還是 左外連接
1 回答left join 是否左表數據百萬時, 效率極低
1 回答join 優化聚合子查詢問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-01-03
第一個問題:什么時候用left join?說說我的理解
兩個表(left join左邊的表稱為左表,右邊的稱為右表)有主外鍵關聯時,這個是前提條件,我們想同時查詢兩個表中的信息,這個時候可以采用這種left join,當然也可以用right join,簡單說一下區別,left join是以左表為主,就是查詢出左表的全部數據并查詢出右表的主外鍵關聯數據,right join相反。你可以找點文章看看。
第二個問題:連接條件怎么確定?
這里u.'id' 中的 id 為左表的主鍵,a.'user_id'為右表的外鍵,指向 u 表的主鍵。就是主外鍵關聯作為條件。
第三個問題:怎么知道用那個表作為左表?
就像第一個問題中所說的,想查詢某個表中的所有內容,查詢另一個表中的關聯內容,那么想查詢所有內容的表作為左表。
第四個問題:怎么確定要查詢那些字段?
* 代表查詢所有字段,如果想查詢某個表的字段,可以使用 "表名(如果有別名,就用別名).*",如果想查詢部分字段,可以使用“表名(如果有別名,就用別名).字段名”,如果字段有沖突,就為字段重新命名!
2017-03-28
2016-06-06
樓上大神 啊