Mysql where子句中的ifnull()函数

Mysql where子句中的ifnull()函数,mysql,sql,database,Mysql,Sql,Database,我有两张桌子 **Employee** EmpId NOT NULL (PK) Name NOT NULL OrgID NULL (FK) **Organisation** OrgID NOT NULL (PK) OrgName NOT NULL 我想用一个select语句获取Name,OrgName。 但条件是OrgID在Employee表中可以为null。这么多没有OrgID的唱片,也有OrgID的唱片 如何通过一条sql语句传递EmpId来获取所有数据 谢谢 使用左连接: select

我有两张桌子

**Employee**
EmpId NOT NULL (PK)
Name NOT NULL
OrgID NULL (FK)

**Organisation**
OrgID NOT NULL (PK)
OrgName NOT NULL
我想用一个select语句获取Name,OrgName。 但条件是OrgID在Employee表中可以为null。这么多没有OrgID的唱片,也有OrgID的唱片

如何通过一条sql语句传递EmpId来获取所有数据


谢谢

使用
左连接

select e.name, o.OrgName 
from Employee e
left join Organisation o on o.OrgID = e.OrgID
where e.EmpId = ?; 

如果FK为空,则结果行中的OrgName将为
null

使用
左连接:

select e.name, o.OrgName 
from Employee e
left join Organisation o on o.OrgID = e.OrgID
where e.EmpId = ?; 
如果FK为空,则结果行中的OrgName将为
null

这应该可以正常工作:

SELECT 
  e.Name
  , o.OrgName 
FROM Employee AS e 
LEFT JOIN Organisation AS o ON e.OrgID=o.OrgID 
WHERE e.EmpId = ?;
这应该很好:

SELECT 
  e.Name
  , o.OrgName 
FROM Employee AS e 
LEFT JOIN Organisation AS o ON e.OrgID=o.OrgID 
WHERE e.EmpId = ?;

使用左连接

SELECT
  e.Name,
  O.OrgName
FROM Employee e
LEFT JOIN Organisation O ON(O.OrgID = e.OrgID)
WHERE EmpId = x

使用左连接

SELECT
  e.Name,
  O.OrgName
FROM Employee e
LEFT JOIN Organisation O ON(O.OrgID = e.OrgID)
WHERE EmpId = x

编辑:忘记包含WHERE子句


编辑:忘记包含WHERE子句

您的意思是要显示所有员工的姓名,包括与组织无关的姓名(Employee.OrdId为NULL?),您的意思是要显示所有员工的姓名,包括与组织无关的姓名(Employee.OrdId为NULL?),应该是
=
,不是
=
。它应该是
=
,而不是
=