SQL 新手,但我试图找到titles
“蓝色”和“黑色”字样的位置。但是,它们不能来自 ID 为 1 和 5 的用户。这就是我所做的:
SELECT title, id_card
FROM site
WHERE (title LIKE "%blue%" OR title LIKE "%black%")
AND (id_card != 1 OR id_card != 5)
ORDER BY id_card ASC;
Run Code Online (Sandbox Code Playgroud)
但是,当我添加 id 1 和 id 5 不应该在查询中时,它会显示如下内容:
博客标题 | 用户 |
---|---|
今天的蓝天真好 | 1 |
黑色是我最喜欢的颜色 | 2 |
我感觉很蓝 | 2 |
她穿着黑色 | 3 |
但是,当我id_card != 5
从代码中擦除时,它工作得很好。
博客标题 | 用户 |
---|---|
黑色是我最喜欢的颜色 | 2 |
我感觉很蓝 | 2 |
她穿着黑色 | 3 |
我只是想知道我哪里出错了以及如何解决这个问题。先感谢您!
你走在正确的轨道上。但是使用not in
正确的逻辑:
SELECT title, id_card
FROM site
WHERE (title LIKE '%blue%' OR title LIKE '%black%') AND
id_card NOT IN (1, 5)
ORDER BY id ASC;
Run Code Online (Sandbox Code Playgroud)
您还可以使用AND
.