sql - Mysql Subquery Syntax -
i'm wondering why statements select * t appear in mysql subqueries following.
the next deletes oldest 3 rows in table according created_time column.
why right
delete mytable id = ( select * ( select id mytable order created_time asc limit 3')as t) and not
delete mytable id = (select id mytable order created_time asc limit 3) ?
to me, sec form makes sense. doesn't work , i'd understand why first necessary. specifically, t , as t do?
in many databases, subquery in from clause needs have explicit alias. as optional. typically utilize as columns , leave out tables:
delete mytable id = ( select * ( select id mytable order created_time asc limit 3') t) why need subquery vagary of mysql. doesn't allow table reference in delete or update appear in subquery clause. oh, allow in subquery-within-a-subquery clause. so, pretty easy work around limitation.
mysql sql syntax subquery
No comments:
Post a Comment