SQL查询示例

时间:2014-01-20 20:40:00

标签: mysql sql

我有3个表users(id,name),types(id,name)和user_type(users_id,types_id)

我想写一个SQL查询来获取所有没有类型的用户。我知道这可能很容易,但我无法理解它。

任何帮助

4 个答案:

答案 0 :(得分:1)

SELECT users.name
FROM users JOIN user_types ON users.id = user_types.users_id
WHERE user_types.types_id != yourID

答案 1 :(得分:1)

怎么样:

SELECT * FROM users
WHERE users_id NOT IN
    (SELECT users_id FROM user_type)

答案 2 :(得分:0)

您可以尝试这样的事情

SELECT * FROM users
WHERE users_id NOT IN (SELECT users_id FROM user_type)

答案 3 :(得分:0)

作为另一种选择,您可以使用EXISTSNOT EXISTS

SELECT *
FROM users
WHERE NOT EXISTS (SELECT * FROM user_type WHERE users.USER_ID = user_type.USER_ID)

另一种方法是使用左连接并检查空值

SELECT *
FROM users AS s
LEFT JOIN user_type AS ut
ON s.USER_ID = ut.user_id
WHERE ut.USER_ID IS null

EXISTSNOT EXISTS上的文档可以在http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html

找到