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

MySQLの「SELECT TRUE」とは?意味と使い方を解説

MySQLにおける「SELECT TRUE」の基本

MySQLでは、SELECT TRUEというステートメントを実行すると、条件に一致する行ごとに「1」が返されます。これは、MySQLにおいてTRUE(真)という論理値が内部的に整数の「1」として扱われているためです。逆にFALSE(偽)は「0」に相当します。

この記事では、実際にテーブルを作成し、SELECT TRUEがどのような結果を返すのかを具体的な例で確認していきます。

検証用テーブルの作成

まず、以下のコマンドでサンプルテーブルを作成します。

mysql> create table DemoTable(Name varchar(100));
Query OK, 0 rows affected (0.54 sec)

レコードの挿入

次に、INSERTコマンドを使ってテーブルにデータを追加します。

mysql> insert into DemoTable values('Chris');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Robert');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('David');
Query OK, 1 row affected (0.12 sec)

登録済みレコードの確認

SELECT文ですべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

実行すると、以下のような結果が出力されます。

+--------+
| Name   |
+--------+
| Chris  |
| Robert |
| David  |
+--------+
3 rows in set (0.00 sec)

SELECT TRUEを実行してみる

それでは、本題であるSELECT TRUEのクエリを実行します。

mysql> select true from DemoTable;

実行結果は以下のとおりです。

+------+
| TRUE |
+------+
| 1    |
| 1    |
| 1    |
+------+
3 rows in set (0.00 sec)

結果からわかること

この出力から、テーブル内の各行に対してTRUEが「1」として返されていることが確認できます。つまり、SELECT TRUEはテーブルの行数分だけ「1」を出力する動作になります。

この性質は、WHERE句での条件判定や、行の存在チェックなどで論理値が必要な場面において役立ちます。たとえば、WHERE Name = 'Chris'のような条件式は、一致すればTRUE(1)、一致しなければFALSE(0)として評価されるため、MySQLの論理処理を理解するうえで重要なポイントです。

  1. MySQLでテーブルの値からランダムに2件のレコードを取得する方法

    MySQLでランダムにレコードを抽出するには、ORDER BY RAND()を使用します。さらに、取得する件数を2件に限定したい場合は、LIMIT 2を組み合わせることで実現できます。この記事では、実際にテーブルを作成し、ランダムに2つの値を取得する手順を具体的な例とともに解説します。サンプルテーブルの作成まず、質問文を格納するテーブルを作成しましょう。mysql> create table DemoTable1815 ( Question text ); Query OK, 0 rows affected (0.00 sec)テストデータの挿入次に、INSERT

  2. MySQLで最高額の給与を取得する方法

    ```html MySQLで最高額の給与を取得するには? テーブルの中から最も高い給与(最高額の給料)を取得したい場合は、集計関数の MAX() を使用します。MAX() 関数は、指定したカラムの中で最大の値を返してくれる便利な関数です。 基本構文 select MAX(yourColumnName) AS anyAliasName from yourTableName; サンプルテーブルの作成 まず、実際に動作を確認するためのテーブルを作成しましょう。 mysql> create table demo44 -> ( -> employee_id int not null