我有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
答案 0 :(得分: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
答案 1 :(得分:0)
SELECT *
FROM users
WHERE id NOT IN (SELECT user_id
FROM user_links)