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)