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

  • 2019 年 10 月 4 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/u014427391/article/details/100545991

最近在做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