1.LEFT或RIGHT JOIN ON後面的過濾條件即便不成立也會返回左表或右表的所有記錄,若是要過濾掉不符合條件的數據,則要把過濾條件放在WHERE後面。blog
tab1:im
tab2:總結
過濾條件在ON後面:
數據
過濾條件在WHERE後面:查詢
結果是不一樣的img
2.INNER JOIN ON後面的過濾條件也能夠放在WHERE後面,效果相同。tab
過濾條件在ON後面:co
過濾條件在WHERE後面:360
結果相同ps
總結:對於LEFT/RIGHT JOIN參與的表的關聯操做,若是須要不知足鏈接條件的行也在查詢範圍內的話,就把鏈接條件放在ON後面,而不能放在WHERE後面,若是把鏈接條件放在了WHERE後面,那麼全部的LEFT/RIGHT操做將不起任何做用,對於這種狀況,它的效果就徹底等同於INNER鏈接。對於那些不影響選擇行的條件,放在ON或者WHERE後面就能夠。