我正在以下列方式使用OR运算符:
SELECT * FROM Customers
WHERE City = "Berlin" OR City = "London"
以上内容返回包含一些数据的结果表,但是还返回数据的是:
SELECT * FROM Customers
Where City = "Berlin" OR "London"
我目前正在使用一个可疑的SQL编辑器,并想知道这在MySQL环境中是否有效。
答案 0 :(得分:1)
您正在寻找
SELECT * FROM Customers Where City IN('Berlin', 'London');
查询:
Where City='Berlin' OR 'London'
应用logical OR operator (||),因此OR "London"
相当于OR 0
,而Where City = 'Berlin' OR 0;
只会返回'Berlin'
SqlFiddle here with truth table here
次要,但您应该考虑使用single quotes for string literals,因为这在RDBMS之间更容易移植,"
的使用取决于ANSI QUOTES
。
答案 1 :(得分:0)
好吧,如果它在SQL中有效,它应该在MySQL中有效。你想知道这在MYSQL中是否有效
SELECT * FROM Customers Where City="Berlin" OR"London"
它应该在MySQL中有效
希望有所帮助。如果没有,请添加评论
答案 2 :(得分:0)
返回与第一个sql-string相同的值。
但是你的第一个字符串对其他字符串更具可读性。
答案 3 :(得分:0)
您可以使用IN
SELECT *
FROM Customers
Where City IN ("Berlin","London")
答案 4 :(得分:0)
好吧,卡西尼我检查了你的语法并在我的桌子上运行这个查询我没有得到相同的结果。我按预期得到了正确的输出。
我已经运行了这个命令:
SELECT * FROM `city` where name = 'London' or 'Berlin'
我的名字栏中只有伦敦。当我运行此命令时:
SELECT * FROM `city` where name = 'London' or name = 'Berlin'
然后我在名称列中获得了两个城市。所以命令有效它只返回满足条件的有效输出。
所以,我可以说该命令有效但只执行满足MYSQL Select语法的那部分查询。