MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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文が活用できます。シンプルな動作確認や値の検証に役立つテクニックなので、覚えておくと便利です。

  1. MySQLでテーブルの最後の10件のレコードを取得する方法

    MySQLでテーブルの末尾にある10行(最新の10件)を取得したい場合は、SELECT文とLIMIT句を組み合わせたサブクエリを利用します。この記事では、実際にテーブルを作成し、データを挿入しながら、最後の10件を取得するクエリの手順を具体的に解説します。 1. サンプルテーブルの作成 まず、動作確認用のテーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected

  2. MySQLのSELECTクエリでエイリアス(別名)を使う方法をわかりやすく解説

    MySQLのSELECTクエリでエイリアスを使うには?MySQLでは、カラムやテーブルに別名(エイリアス)を設定する際にASキーワードを使用します。エイリアスを使うと、出力結果のカラム名を分かりやすい名前に変更できるため、レポート作成やアプリケーションでのデータ表示に非常に便利です。この記事では、実際にサンプルテーブルを作成し、SELECTクエリでエイリアスを設定する手順を順番に解説します。1. サンプルテーブルを作成するまず、CREATE TABLE文でテスト用のテーブルを作成しましょう。mysql> create table DemoTable ( Name varchar(