Mysql 左表中不匹配行的SQL联合查询
我有两张桌子,sfuser和membership sfuser得到139,会员表得到50 我需要查询来选择谁不是任何项目的成员,这意味着89名成员 这是我的问题Mysql 左表中不匹配行的SQL联合查询,mysql,sql,sql-server,postgresql,join,Mysql,Sql,Sql Server,Postgresql,Join,我有两张桌子,sfuser和membership sfuser得到139,会员表得到50 我需要查询来选择谁不是任何项目的成员,这意味着89名成员 这是我的问题 select sfuser.id,sfuser.username,sfuser.email from sfuser INNER JOIN projectmembership ON sfuser.id = projectmembership.member_id ; 但是我得到了50个用户,他们是我想要的另一种方式的成员 请洒点光 致意
select sfuser.id,sfuser.username,sfuser.email from sfuser INNER JOIN projectmembership ON sfuser.id = projectmembership.member_id ;
但是我得到了50个用户,他们是我想要的另一种方式的成员
请洒点光
致意
萨提斯
它应该返回所有不在projectmembership表中的用户
它应该返回所有不在projectmembership表中的用户。内部联接将只生成与这两个表匹配的行。。您可以做左联接并筛选出空白记录。比如:
SELECT sfuser.id,
sfuser.username,
sfuser.email
FROM sfuser LEFT JOIN projectmembership ON sfuser.id = projectmembership.member_id
WHERE (projectmembership.member_id is null);
内部联接将只生成与两个表匹配的行。。您可以做左联接并筛选出空白记录。比如:
SELECT sfuser.id,
sfuser.username,
sfuser.email
FROM sfuser LEFT JOIN projectmembership ON sfuser.id = projectmembership.member_id
WHERE (projectmembership.member_id is null);
内部联接将返回在两个表之间共享联接所用值的所有行。看 您要查找的是左联接,即左表中所有在右表中不匹配的行
select sfuser.id,
sfuser.username,
sfuser.email
from sfuser
LEFT JOIN projectmembership
ON sfuser.id = projectmembership.member_id
内部联接将返回在两个表之间共享联接所用值的所有行。看 您要查找的是左联接,即左表中所有在右表中不匹配的行
select sfuser.id,
sfuser.username,
sfuser.email
from sfuser
LEFT JOIN projectmembership
ON sfuser.id = projectmembership.member_id
如果sfuser记录可以在项目成员资格表中多次出现,则忘记外部联接-不存在是您想要的:
select sid,
username,
email
from sfuser
where not exists (
select null
from projectmembership
where sfuser.id = projectmembership.member_id);
如果sfuser记录可以在项目成员资格表中多次出现,则忘记外部联接-不存在是您想要的:
select sid,
username,
email
from sfuser
where not exists (
select null
from projectmembership
where sfuser.id = projectmembership.member_id);
多谢大流士和阿比克多谢大流士和阿比克