為 MySQL JOIN 產生行:解決方法
MySQL 本身並不支援為 JOIN 作業產生任意行,這與 Oracle(使用 CONNECT BY LEVEL
)或 SQL Server 等其他資料庫系統不同。 這意味著沒有一個命令可以創建一系列編號的行。
但是,有幾種解決方法可以實現類似的結果:
使用數字表:最有效的解決方案是建立一個包含數字序列的專用表。 然後可以將該表與其他表連接。 一旦創建,該表就可以重複使用。
使用 UNION ALL 產生數字: 對於較少的行數,您可以使用多個 UNION ALL
語句建立序列。 對於大量行,此方法效率較低。 例如,要產生第 1 至 5 行:
<code class="language-sql">SELECT 1 AS num UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5;</code>
MySQL 中缺乏內建行產生器,因此需要這些替代方法。選擇取決於需要行產生的頻率和所需序列的規模。通常建議使用預先建立的數字表以獲得最佳效能。
以上是如何在 MySQL 中產生 JOIN 操作的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!