1. 程式人生 > >MySQL資料庫總結(5)左連線,右連線,內連線

MySQL資料庫總結(5)左連線,右連線,內連線

左連線:left join

Select 列1 列2 列N from
tableA left join tableB
on tableA 列 = tableB [此處表連線成一張達標,完全當成普通表看]
where group,having 照常寫

右連線:right join

Select 列1 列2 列N from
tableA right join tableB
on tableA 列 = tableB [此處表連線成一張達標,完全當成普通表看]
where group,having 照常寫

內連線:inner join

Select 列1 列2 列N from
tableA inner join tableB
on tableA 列 = tableB [此處表連線成一張達標,完全當成普通表看]
where group,having 照常寫

  • 左右連結:
    以左表為準,去右表找匹配資料,找不到匹配,用null補齊

  • 如何記憶:
    左右連線可以互相轉化
    可以把右連線轉化為左連線來使用(並用左連線代替右連線,相容性好一些)

  • A站在B的左邊 => B站在A的右邊
    A left join B => B right join A

  • 內連線:查詢左右表都有的資料

    即:不要左/右中NULL的那一部分
    內連線是 左,右連線的交集

思考:能否查出左右連線的並集呢?
答:目前不能,目前的mysql不支援外連線. Outer join
可以用union來達到目的.

這裡寫圖片描述