0

我有 2 个具有以下结构的表:

CREATE TABLE users(
  id bigint not null auto_increment,
  name varchar(255) default '',
  primary key(id)
);

CREATE TABLE user_links(
  user_id bigint,
  job_id bigint
);

所以用户链接到工作(jobs这个问题不需要表结构)

我需要使用一个查询一次获取所有未链接到任何工作的用户

例如,如果我有包含此类数据的表:

users:
id | name
1  | james
2  | fred

user_links:
user_id | job_id
1       | 5
1       | 6

然后我需要这样的结果行:

id | name
2  | fred
4

2 回答 2

3

...假设 user_links 中没有 NULL user_id:

SELECT *
FROM users
LEFT OUTER JOIN user_links ON users.id = user_links.user_id
WHERE user_links.user_id IS NULL
于 2013-05-26T23:58:59.607 回答
0
SELECT *
  FROM users
 WHERE id NOT IN (SELECT user_id
                    FROM user_links)
于 2013-05-26T23:57:30.957 回答