MySQL列表查询等于多个值

时间:2015-01-17 22:28:27

标签: mysql sql

我试图列出来自加利福尼亚州,洛杉矶的男性或女性人士,但我不希望所有来自加利福尼亚的男性和女性都被列入名单。

SELECT * FROM people 
WHERE state='california' 
    AND city='los_angeles' 
    AND gender='male' OR gender='female'

我也尝试过:

SELECT * FROM people 
WHERE city='los_angeles' 
    AND gender='male' OR gender='female'

2 个答案:

答案 0 :(得分:3)

更紧凑:

$sql = mysql_query("SELECT * FROM people WHERE state='california' 
               AND city='los_angeles' AND gender in ('male','female')");

答案 1 :(得分:2)

当您合并ANDOR运算符时,您必须记住AND具有更高的优先级。所以你必须使用括号:

$sql = mysql_query("SELECT * FROM people WHERE state='california' 
          AND city='los_angeles' AND (gender='male' OR gender='female')");

您的查询返回了洛杉矶的所有男性。它还归还了所有女性(无论来自哪个城市)

有关AND/OR运营商的详细信息,请参阅this链接 和this运算符优先级链接