在SQL中排除语句

时间:2009-11-07 15:48:58

标签: sql database

如何使用SQL语句从SQL数据库中排除数据?我的情况是我有一个用户登录他们的个人资料页面,他们可以在那里与朋友聚会。我想显示在SQL数据库中找到的除自己以外的所有用户。

5 个答案:

答案 0 :(得分:9)

也许只是

SELECT *
FROM 
    Users
WHERE
    UserId <> @ThisUserId

或使用差异联盟(SQL Server中的EXCEPT关键字,不确定其他RDBMS实现)

SELECT *
FROM 
    Users

EXCEPT

SELECT *
FROM 
    Users
WHERE
    UserId = @ThisUserId

答案 1 :(得分:5)

怎么样:

SELECT * FROM people WHERE person_id != $current_user_id

答案 2 :(得分:4)

是的,我知道我迟到了。

无论如何,当我在这里找到一个问题的答案时,我在这里找到了一个问题的答案(“如何从查询中驱逐数据”),我有点困惑。

感到困惑,因为我知道我所寻找的答案不仅更简单,而且比这里提出的更优雅。我曾经知道答案,但忘记了。我来这里是因为我懒得记住......

所以我很难记住这个简单的解决方案,然后又回到了我的脑海。

假设你有两个表“Email”和“UnwantedEmail”,两个表都带有一列“地址”。查询仅获取所需的电子邮件地址,“电子邮件”中但不在“UnwantedEmail”中的地址可能如下所示:

SELECT Email.Address FROM UnwantedEmail
RIGHT JOIN Email ON UnwantedEmail.Address=Email.Address
WHERE UnwantedEmail.Address Is Null;

答案 3 :(得分:2)

select * from Foo where UserName not in ('Rohan', 'Rohan's friend', .....)

这有用吗?

答案 4 :(得分:0)

如果您知道该用户的唯一ID是什么,您可以使用以下内容:

SELECT * FROM usertable WHERE id!='myuserid'

我使用我的一个身份验证脚本执行的操作是存储当前登录到变量中的人员的信息,以便在PHP中显示如下:

SELECT * FROM usertable WHERE id!='check(id)'