MySQL 三年模擬五年面試之一網打盡系列(3)----- sql 語句的編寫及查詢優化

bossaiguo發表於2019-08-03

關聯查詢語句

關聯查詢一共有六種方式,分別是:交叉連線(cross join)、內連線(inner join)、外連線(left join / right join)、聯合查詢(union 與 union all)、全連線(full join)

交叉連線
select * from A,B,(C) 或者
select * from A cross join B (cross join c)
沒有任何關聯條件,結果時笛卡兒積,結果集會很大,沒有意義,很少使用
內連線
select * from A,B where A.id = B.id z或者
select * from A inner join B on A.id = b.id
多表中同時符合某種條件的資料記錄的集合

內連線分為三類
    - 等值連線:on a.id = b.id
    - 不等值連線:on a.id > b.id
    - 自連線:select * from a t1 inner join a t2 on t1.id = t2.id
外連線
- 左外連線:left join ,以左表為主,先查詢出左表,按照on後的關聯條件匹配右表,沒有匹配到的用null填充。
- 右外連線:right join ,以右表為主,先查詢出右表,按照on後的關聯條件匹配左表,沒有匹配到的用null填充。

未完待續~~

相關文章