mysql派生查詢必須有別名問題記錄


最近在做mysql sql兼容,原來是oracle的sql都要保證在mysql數據庫運行
業務場景:原來是一個帶有子查詢的sql,在oracle是可以正常運行的,遷到mysql就發現報錯了,報錯信息如:

Every derived table must have its own alias

這個報錯的意思是,派生出來的查詢結果必須有一個別名,比如SQL:

select * from (select a.id , a.name from A)  limit 0,1

或者

select count(1) from (select a.id , a.name from A)  

等等查詢在oracle都是正常的,但是在mysql都會報錯,解決方法就是給子查詢加個別名

select * from (select a.id , a.name from A) t  limit 0,1

或者

select count(1) from (select a.id , a.name from A)  t

ok,加個別名后,上訴sql都可以正常運行,mysql和oracle語法異同的可以參考我之前的博客:https://blog.csdn.net/u014427391/article/details/87307903


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM