不帶 ON 條件的 MySQL JOIN 查詢
在 MySQL 中,JOIN 查詢並不嚴格要求 ON 條件。這與 ANSI 標準和許多其他資料庫不同。
交叉連結
如果沒有 ON 條件,JOIN 將被解釋為交叉連結。此操作會產生笛卡爾積,從而產生一組記錄,其中包含連接表中行的所有可能組合。例如,兩個分別有 3 行和 4 行的表之間的交叉聯接會產生 12 行。
明確使用交叉連結
建議使用CROSS JOIN為了清楚起見,明確執行交叉連接時的關鍵字:
SELECT * FROM A CROSS JOIN B;
INNER JOIN 與Cross Join
JOIN查詢中缺少 ON 條件實際上使其相當於沒有條件的 INNER JOIN。這對於查找表之間的所有匹配行非常有用,類似於 INNER JOIN。
左外連接和右外連接
對於LEFT 和RIGHT OUTER JOIN,ON條件是強制性的,因為這些類型的聯結需要指定的條件來進行行匹配。因此,不存在 ON 條件與它們無關。
以上是當省略 ON 條件時,MySQL JOIN 查詢會發生什麼事?的詳細內容。更多資訊請關注PHP中文網其他相關文章!