複数回 JOIN しているが、正しいSQLのはずなのにエラー

バグでもなんでもなく、私のポカミスなんですが・・・。

MySQLで、下記のようなSQLを実行した。

SELECT
order.rank
FROM
order_tableA order
LEFT JOIN
order_tableB TBL
ON (order.id = TBL.id)

が、

ERROR 1248 (42000): Every derived table must have its own alias


と出てしまう。なんで?JOINの仕方が悪い?エイリアスも書いてるのに?

・・・

"order" は予約語なので、テーブルのエイリアスとして認識されません。
試しに order の前に AS と書いてみると違うエラーになることから気づきました。

ほらね!SQLプログラミング言語なんだよ!(違)改めて、予約語には気を付けるべし!