mysql中的join的使用的正確姿勢
阿新 • • 發佈:2018-12-16
JOIN 在內連線時,可以不使用,其它型別連線必須使用。 如SELECT * FROM TABLEA INNER JOIN TABLEB ON A.ID=B.ID 可以這樣寫: SELECT * FROM TABLEA,TABLEB WHERE A.ID=B.ID JOIN 有以下幾種型別: INNER(內連線) 指定返回每對匹配的行。廢棄兩個表中不匹配的行。如果未指定聯接型別,則這是預設設定。 FULL(全連線) 指定在結果集中包含左表或右表中不滿足聯接條件的行,並將對應於另一個表的輸出列設為 NULL。這是對通常由 INNERJOIN返回的所有行的補充。 LEFT(左連線) 指定在結果集中包含左表中所有不滿足聯接條件的行,且在由內聯接返回所有的行之外,將另外一個表的輸出列設為 NULL。 RIGHT(右連線) 指定在結果集中包含右表中所有不滿足聯接條件的行,且在由內聯接返回的所有行之外,將與另外一個表對應的輸出列設為 NULL。
CROSS JOIN(交叉連線)又稱為笛卡爾乘積,實際上是把兩個表乘起來 得到連線表符合WHERE 子句的條件的記錄數的乘積,即第一個表的每一個記錄都與別一個表的所有記錄連接出一個新的記錄。 交叉連線不帶ON子句,其它連線必須有ON子句