MySQL
SQL

SQL で FROM を使わず、架空のレコードを SELECT する方法

More than 3 years have passed since last update.

SELECT に、ただ文字列や数字を渡せば良い。

SELECT 'john', 'programmer', 30;

結果:

+------+-----------+----+

| john | programmer | 30 |
+------+-----------+----+
| john | programmer | 30 |
+------+-----------+----+

この架空のレコードに対しても、SQLの構文が使える。

たとえば AS でカラム名をつけられる。

SELECT 'john' AS Name, 'programmer' AS Job, 30 AS Age;

結果:

+------+------------+-----+

| Name | Job | Age |
+------+------------+-----+
| john | programmer | 30 |
+------+------------+-----+

この方法は、SQL 自体の動作確認をするときに便利だ。

(テスト用のデータを作らなくて良いので)


環境


  • mysql Ver 14.14 Distrib 5.6.26, for osx10.10 (x86_64) using EditLine wrapper


参考


FROM 句を省略することが可能な RDBMS と省略できない RDBMS があります。

PostgreSQL、MySQL など主な OSS-DB と一部の商用 RDBMS では省略可能ですが、代表的な商用 RDBMS である Oracle と DB2 では FROM 句を省略できません。