當在MySQL 中遇到「每個衍生表必須有自己的別名」錯誤時,深入研究派生表的概念至關重要。這些表(也稱為子查詢)需要明確別名,以便在外部查詢中進行引用。
讓我們以導致錯誤的範例查詢為例:
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) );
查詢由兩個巢狀子查詢組成。當最裡面的子查詢從「TT2」表檢索資料時,會出現錯誤,因為兩個子查詢都缺少別名。
要修正此錯誤,每個子查詢查詢必須指派一個唯一的別名。修正後的查詢類似於:
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) AS T1 ) AS T2
這裡,兩個子查詢都分配了別名(“T1”和“T2”),允許外部查詢引用它們各自的結果。
如果子查詢只是從表中提取數據,則整個構造可以是簡化。
SELECT ID FROM TT2
這種簡化的查詢消除了子查詢層,同時仍然達到了預期的結果。
以上是為什麼 MySQL 需要派生表的別名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!