【发布时间】:2016-01-17 03:29:51
【问题描述】:
我有一些我不明白的地方。 如果我的桌子是这样的:
name age
---- ----
din 18
mari 35
我做了这个查询:
select * from usernames
where age < 20 or name not like 'din'
所有的表格和行都打印出来了,我的目标是打印那些不被称为“din”且年龄在 20 岁以下的人。
谁能告诉我我的错误在哪里?
我在这里问了另一个问题 .. 对此感到抱歉。
【问题讨论】:
-
将 OR 更改为 AND。
-
@Alicia 我不寻找答案,我寻找解释。如果或在一个 False 和一个 True 时执行 - 它不会打印 20 岁以下的年龄,但会打印所有不叫 din 的名字,对吗?还是我错了?
-
但是你已经在问题中用“and”说了“谁没有被称为 'din' 并且未满 20 岁”。所以...@Alicia 可能认为 OR 是一个简单的错误。
-
@MrLister 对不起。但我还是不明白。为什么不工作?
-
也许你被第二条的
not弄糊涂了。如果写成这样是否更有意义:where age < 20 or name like 'mari'?
标签: sql operator-keyword