如何使用OR& AND在mysql的WHERE子句中

时间:2015-04-23 06:39:02

标签: php mysql

我是Mysql&的新手。有一个表,目前我正在提取数据

SELECT * FROM tablename WHERE name='$user' AND date='$selecteddate'

现在我想再添加一个名为status_id的列,我想从中选择值,即1或2

我试过了这个查询

 SELECT * FROM tablename WHERE (name='Ankit') AND (date='2015-04-23') AND (status_id='1' OR status_id='2')

但没有成功。

请帮忙。

3 个答案:

答案 0 :(得分:3)

好吧,你只需要or子句所涉及的元素介于两者之间 括号。

顺便说一下,它们不是"需要"(你可以使用AND / OR的优先顺序),但我认为这是可读性的最佳方式。

如果status_id数据类型为int,则不需要' '大约1和2。

SELECT * 
 FROM tablename 
WHERE name='Ankit' 
AND date='2015-04-23' 
AND (status_id=1 OR status_id=2) 

顺便说一句,在这种情况下,您可以使用IN子句

AND status_id in (1, 2)

答案 1 :(得分:1)

像这样的东西

"SELECT * FROM tablename 
 WHERE name='Ankit' 
 AND date='2015-04-23' 
 AND (status_id='1' OR status_id='2')";

答案 2 :(得分:0)

尝试使用IN

AND status_id IN (1, 2)