我有一个名为employee的数据库表,当像这样检索员工的名字时
SELECT * FROM employee WHERE Fname ='jack' AND Fname ='john';
此查询返回一个空集。尝试使用像{/ p>这样的OR
条件查询数据库
SELECT * FROM employee WHERE Fname ='jack' OR Fname = 'John';
查询返回employee表中jack和john的所有字段。我对AND
运算符的理解是1 and 1 is true
,其中Jack和John在我的表中,它应该使用AND
运算符从employee表中返回jack和john的字段。我是否允许在一张桌子上使用AND
条件,我是否误解了这个概念。请一些好建议!
答案 0 :(得分:4)
条件Fname ='jack' AND Fname ='john'
表示查询将匹配Fname
同时为'jack'
和'john'
的每一行。由于单个列不能同时为两个不同的值,因此不会匹配任何行。
答案 1 :(得分:2)
WHERE Fname ='jack' AND Fname ='john'
会返回一个空集,因为没有记录Fname是' jack'和' john'。 ' jack<> '约翰&#39 ;.如果您想在Fname可以是jack
或john
时返回记录,请使用...WHERE Fname ='jack' OR Fname ='john'
。
答案 2 :(得分:2)
您在WHERE
子句中所写的内容是条件。写Fname = 'jack' AND Fname = 'john'
寻找名字为“jack”且同时为“john”的人。但你想要的是名字是“jack”或“john”的人。
答案 3 :(得分:1)
你想要的是or
因为Fname不能同时是杰克和约翰
SELECT * FROM employee WHERE Fname ='jack' or Fname ='john';