【MySQL】WHERE句でANDとORを同時に使用して検索する方法

MySQL

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('神奈川県', '埼玉県');

実行すると以下のように取得できます。

タイトルとURLをコピーしました