Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 左表中不匹配行的SQL联合查询_Mysql_Sql_Sql Server_Postgresql_Join - Fatal编程技术网

Mysql 左表中不匹配行的SQL联合查询

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个用户,他们是我想要的另一种方式的成员 请洒点光 致意

我有两张桌子,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个用户,他们是我想要的另一种方式的成员

请洒点光

致意 萨提斯

它应该返回所有不在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);

多谢大流士和阿比克多谢大流士和阿比克