【SQL】サブクエリに「AS」でエイリアスをつけないとEvery derived table must have its own alias
やろうとしたSQL
ページネーションを作ろうと思って書いたSQL
SELECT * FROM (SELECT * FROM samples WHERE id < 30 ORDER BY id DESC LIMIT 1) UNION ALL SELECT * FROM (SELECT * FROM samples WHERE id >= 30 ORDER BY id ASC LIMIT 6)
エラー
Every derived table must have its own alias
「ゼロから始めるデータベース操作」にはエイリアスは省略できるとか書いてあったような気もするけど・・・
解決策
AS エイリアス
でサブクエリに別名をつけてあげる
SELECT * FROM (SELECT * FROM samples WHERE id < 30 ORDER BY id DESC LIMIT 1) AS samples1 UNION ALL SELECT * FROM (SELECT * FROM samples WHERE id >= 30 ORDER BY id ASC LIMIT 6) AS samples2