mysqlでfrom部分にselect文を使う方法をご紹介します。
「from部分にselect文を使う」と聞いて「何を言っているんだ!」と思うかもしれません。
実例を見てみると早いです。
1 2 3 4 5 6 7 8 9 10 |
mysql> mysql> select * from (select * from user where id = 1) as d; +-----+----------+---------+---------+ | talbe_id | name | id | +-----+----------+---------+---------+ | 1 | hogehoge | 1 | | 3 | hokan | 1 | +-----+----------+---------+---------+ 2 rows in set (0.00 sec) mysql> |
括弧内でselectした結果から、さらにselectしているのがこのやりかたになります。
ちなみに、ここで書いた「as d」は「as」とテーブルのエイリアス名で、これがないと以下のようにエラーになります。
1 2 3 |
mysql> select * from (select * from user where id = 1); ERROR 1248 (42000): Every derived table must have its own alias mysql> |