我是数据库的新手,想知道我是否可以使用类似这样的声明:
SELECT * FROM Table Where Name = "abc" or "xyz" or "pqr";
我知道这不起作用,我需要在表格中找到名称可能是其中任何一个的条目。
谢谢
答案 0 :(得分:2)
您必须再次使用列名称:
SELECT * FROM Table
Where Name = "abc"
OR Name = "xyz"
OR Name = "pqr";
但在这种情况下,做IN
更好。
SELECT * FROM Table
Where Name IN ("abc","xyz","pqr");
答案 1 :(得分:2)
您尚未指定关系数据库(SQL Server,Oracle,MySQL等),但每次都需要指定列名,如下所示:
SELECT * FROM Table
Where Name = 'abc' or Name = 'xyz' or Name = 'pqr';
使用IN
语句编写它会更有效:
SELECT * FROM Table
Where Name IN ('abc', 'xyz', 'pqr');
答案 2 :(得分:1)
与AND
和OR
一起使用的正确语法是:
SELECT *
FROM Table
Where Name = "abc"
or
Name = "xyz"
or
Name = "pqr"
请注意,您需要为每个子句限定列名。
虽然你可以使用:
SELECT *
FROM Table
Where Name IN ("abc", "xyz", "pqr");
答案 3 :(得分:0)
SELECT * FROM Table Where Name IN ('abc','yz','pqr')
答案 4 :(得分:0)
SELECT * FROM TABLE WHERE Field IN ('abc','xyz');
或
SELECT * FROM TABLE WHERE Field = 'abc' OR Field = 'xyz';
答案 5 :(得分:0)
您收到错误的原因是OR运算符的每一侧必须是一个计算结果为布尔值的表达式(true或false)。
这是您声明的更正版本:
Select * From Table Where Name = 'abc' or name = 'xyz' or name = 'pqr'
您也可以使用IN子句编写它:
Select * from Table Where Name in ('abc', 'xyz', 'pqr')