目的
- select句を用いてレコードの情報を出力する際の条件に括弧を付ける方法をメモ的にまとめる
困り事
-
下記のようなSQLを記載して実行したが思うような結果が得られなかった。
select * from users where admin_flag = 1 and test_user_flag = 1 or master_user_flag = 1;
-
上記のSQLを記載したときは下記の条件のレコード情報を取得したかった。
- usersテーブルのadmin_flagカラムの値が1、かつ test_user_flagカラムの値が1か、master_user_flagが1のレコード情報
方法
-
下記のように記載することで欲しい情報が取得できた。
select * from users where admin_flag = 1 and (test_user_flag = 1 or master_user_flag = 1);
test_user_flagが1かmaster_user_flagが1のレコードがほしいので当該条件部分を括弧でくくった。