目次
MySQLのWHERE句でAND、ORを両方使う
本記事ではMySQLのWHERE句で条件を指定する際に、ANDとORを同時に使って検索する方法を解説します。
基本的に以下のような書き方があります。
SELECT * FROM テーブル名 WHERE 条件1 AND (条件2 OR 条件3);
この場合だと、「条件1」と「条件2もしくは条件3」に当てはまるデータを取得することができます。
WHERE句の基本的な書き方については以下の記事で解説していますので、チェックしてみてください!
具体的なコード例
今回は以下のようなstudentsテーブルからデータを取得します。
![](https://asapoon.com/wp/wp-content/uploads/2022/02/スクリーンショット-2022-02-08-13.47.45-7-1024x314.png)
「genderがmale」「ageが17以上もしくはaddressが東京都」を指定する
SELECT * FROM students WHERE gender = 'male' AND (age >= 17 OR address = '東京都');
実行すると以下のように取得できます。
![](https://asapoon.com/wp/wp-content/uploads/2022/02/スクリーンショット-2022-02-17-20.19.45-1024x142.png)
「genderがmale」「addressが神奈川県もしくは埼玉県」を指定する
SELECT * FROM students WHERE gender = 'male' AND (address = '神奈川県' OR address = '埼玉県');
もしくはOR句を使わず「IN」を使って以下のように記述することもできます。
SELECT * FROM students WHERE gender = 'male' AND address IN('神奈川県', '埼玉県');
実行すると以下のように取得できます。
![](https://asapoon.com/wp/wp-content/uploads/2022/02/スクリーンショット-2022-02-17-20.26.14-1024x124.png)