MySQLでFROM句なしのSELECTを使う方法
FROM句を省略したSELECT文とは?
通常、SELECT文におけるFROM句は、データを取得する対象となるテーブルへの参照を示します。しかし、参照すべきテーブルが存在しないケースでは、FROM句を省略してSELECT文を実行することが可能です。
言い換えると、SELECTは「テーブルを一切参照せずに計算された行」を取得するためにも利用できるのです。これは、関数の実行結果やユーザー定義変数の値を手軽に確認したい場合などに非常に便利です。
例1:文字列関数の実行結果を取得する
次の例では、CONCAT_WS()関数を使って文字列を連結しています。FROM句がないにもかかわらず、問題なく結果を返します。
mysql> Select concat_ws(" ","Hello", "World");
+---------------------------------+
| concat_ws(" ","Hello", "World") |
+---------------------------------+
| Hello World |
+---------------------------------+
1 row in set (0.00 sec)例2:ユーザー定義変数の値を確認する
SET文で代入したユーザー定義変数の値も、FROM句なしのSELECTで簡単に参照できます。
mysql> Set @var1=100; Query OK, 0 rows affected (0.00 sec) mysql> Select @var1; +-------+ | @var1 | +-------+ | 100 | +-------+ 1 row in set (0.00 sec)
まとめ
このように、MySQLではテーブルを参照しない処理(関数の計算結果や変数の値の取得など)を行う際に、FROM句を省略したSELECT文が活用できます。シンプルな動作確認や値の検証に役立つテクニックなので、覚えておくと便利です。
-
MySQLでテーブルの最後の10件のレコードを取得する方法
MySQLでテーブルの末尾にある10行(最新の10件)を取得したい場合は、SELECT文とLIMIT句を組み合わせたサブクエリを利用します。この記事では、実際にテーブルを作成し、データを挿入しながら、最後の10件を取得するクエリの手順を具体的に解説します。 1. サンプルテーブルの作成 まず、動作確認用のテーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected
-
MySQLのSELECTクエリでエイリアス(別名)を使う方法をわかりやすく解説
MySQLのSELECTクエリでエイリアスを使うには?MySQLでは、カラムやテーブルに別名(エイリアス)を設定する際にASキーワードを使用します。エイリアスを使うと、出力結果のカラム名を分かりやすい名前に変更できるため、レポート作成やアプリケーションでのデータ表示に非常に便利です。この記事では、実際にサンプルテーブルを作成し、SELECTクエリでエイリアスを設定する手順を順番に解説します。1. サンプルテーブルを作成するまず、CREATE TABLE文でテスト用のテーブルを作成しましょう。mysql> create table DemoTable ( Name varchar(