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