select * as t
次のようなステートメントがmysqlサブクエリに表示されるのはなぜだろうと思っています。
以下は、列に従って、テーブル内の最も古い 3 行を削除しcreated_time
ます。
なぜこれが正しいのですか
DELETE FROM mytable WHERE id = ANY
( SELECT * FROM ( SELECT id FROM mytable ORDER BY created_time ASC LIMIT 3')as t)
そしてそうではない
DELETE FROM mytable WHERE id = ANY
(SELECT id FROM mytable ORDER BY created_time ASC LIMIT 3)
?
私には、2 番目の形式が理にかなっています。それは機能しません。最初のものが必要な理由を理解したいと思います。具体的には、何が何で、何をt
するのas t
でしょうか?