ウェブサイト検索

MySQL で WHERE 句に OR 演算子を実装するには?


OR 演算子は、いずれかのオペランドが true の場合に true の結果を返します。例を見てテーブルを作成してみましょう。

mysql> create table DemoTable663(ClientId int,ClientName varchar(100),ClientAge int);
Query OK, 0 rows affected (0.55 sec)

insert コマンドを使用してテーブルにいくつかのレコードを挿入します。

mysql> insert into DemoTable663 values(100,'Chris',45);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable663 values(101,'Robert',29);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable663 values(102,'John',45);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable663 values(103,'Chris',35);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable663 values(104,'Sam',45);
Query OK, 1 row affected (0.72 sec)

select ステートメントを使用してテーブルのすべてのレコードを表示します。

mysql> select *from DemoTable663;

これにより、次の出力が生成されます。

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 100      | Chris      |        45 |
| 101      | Robert     |        29 |
| 102      | John       |        45 |
| 103      | Chris      |        35 |
| 104      | Sam        |        45 |
+----------+------------+-----------+
5 rows in set (0.00 sec)

以下は OR 演算子を実装するためのクエリです。

mysql> select *from DemoTable663 where ClientName='Chris' OR ClientAge=45;

これにより、次の出力が生成されます。

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 100      | Chris      |        45 |
| 102      | John       |        45 |
| 103      | Chris      |        35 |
| 104      | Sam        |        45 |
+----------+------------+-----------+
4 rows in set (0.00 sec)

関連記事: