數據庫左連接,右連接,內連接,外連接

  記筆記,記筆記

      我記得有人問過我這個問題,當時回答得不太好,我補上這個問題

    首先連接有:內連接,外連接(左外,右外),全連接(交集),交叉連接(笛卡爾積)

    先略兩個表

    

    首先左連接:SELECT * FROM test1 a LEFT JOIN test2 b ON a.id = b.id;

    (尷尬,join打錯了,畢竟英語沒有6級(#^_^!))

    解釋下就是以左邊表id(案例裏面是test1)爲基礎和右表id對比,左表有的右表也有就也出來,右表沒有的就NULL咯,右連接和左連接相反

    右連接:SELECT * FORM test1 a RIGHT JOIN test2 b ON a.id = b.id;

    

    enh,以右邊表id爲基礎和左邊表id對比,右邊表有的左邊表也有就顯示出來,左邊表沒有的就NULL

    內連接:SELECT * FROM test1 a INNER JOIN test2 b ON a.id = b.id;

    

    解釋的話就是:兩個表的交集,就是左表和右表都有的才顯示出來

    全連接:(SELECT * FROM test1) UNION (SELECT * FROM test2);

     

     UNION是兩個交集,相當於兩張表數據和在一起(不重複),下面是會重複的UNION ALL:(SELECT * FROM test1) UNION ALL (SELECT * FROM test2);

       

    交叉連接:SELECT * FROM test1 CROSS JOIN test2;

     

          OVER

    

轉載於:https://www.cnblogs.com/yigedapangzhi/p/10290311.html

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