PHPにおけるSQLクエリの論理演算
選択条件では、 OR および AND コマンドを使用してより複雑な組み合わせを作成できます。
これらの動作は、PHPの if 構造における対応する演算子と同じです。
例を見てみましょう。
例
給与が 500 かつ 年齢が 23 歳のユーザーを選択します:
<?php
$query = "SELECT * FROM users WHERE salary=500 AND age=23";
?>
例
給与が 500 または 年齢が 23 歳のユーザーを選択します:
<?php
$query = "SELECT * FROM users WHERE salary=500 OR age=23";
?>
例
給与が 450 から 900 の間のユーザーを選択します:
<?php
$query = "SELECT * FROM users WHERE salary>450 AND salary<900";
?>
例
年齢が 23 歳から 27 歳まで(両端を含む)のユーザーを選択します:
<?php
$query = "SELECT * FROM users WHERE age>=23 AND age<=27";
?>
例
OR と AND の複雑な組み合わせは、条件の優先順位を示すために括弧を使ってグループ化できます:
<?php
$query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)";
?>
実践問題
年齢が 25 歳(含まない)から 28 歳(含む)までのユーザーを選択してください。
ユーザー user1 を選択してください。
ユーザー user1 と user2 を選択してください。
ユーザー user3 を除くすべてのユーザーを選択してください。
年齢が 27 歳 または 給与が 1000 のすべてのユーザーを選択してください。
年齢が 27 歳 または 給与が 400 と等しくないすべてのユーザーを選択してください。
年齢が 23 歳(含む)から 27 歳(含まない)までのユーザー、または 給与が 1000 のユーザーをすべて選択してください。
年齢が 23 歳から 27 歳までのユーザー、または 給与が 400 から 1000 までのユーザーをすべて選択してください。