我有以下SQL查詢:可以在SQL刪除查詢中使用別名嗎?
DELETE FROM table_b b WHERE NOT EXISTS (SELECT * FROM table_a a WHERE a.some_id = b.some_id)
,並正在以下錯誤:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'b WHERE NOT EXISTS(SELECT * FROM table_a a WHERE a.some_id = b.some_id)' at line 1
這似乎表明,別名不能與SQL delete語句中使用
我喜歡這種方法,因爲它避免使用相關的子查詢。 https://en.wikipedia.org/wiki/Correlated_subquery –
關於Saharsh寫的是什麼,這是不是有錯誤,因爲DELETE和FROM之間缺少別名b? (你現在可以完全刪除別名,或混合在Saharsh的解決方案中) –
是的你的權利我已經更新並刪除別名,認爲它使整體更清潔。 –