试图排除某些用户

0 sql t-sql sql-server

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

我只是想知道我哪里出错了以及如何解决这个问题。先感谢您!

Gor*_*off 6

你走在正确的轨道上。但是使用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.