where子句MYSQL中的ifnull()函数

时间:2011-08-26 09:50:42

标签: 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可以为null。如此多的记录没有OrgID,也记录了OrgID。

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

感谢。

4 个答案:

答案 0 :(得分:3)

使用LEFT JOIN

select e.name, o.OrgName 
from Employee e
left join Organisation o on o.OrgID = e.OrgID
where e.EmpId = ?; 
如果FK为空,

OrgName将在结果行中为null

答案 1 :(得分:1)

使用LEFT JOIN

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

答案 2 :(得分:0)

这应该可以正常工作:

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

答案 3 :(得分:0)

SELECT * FROM Employee 
LEFT JOIN Organisation ON 
    Employee.OrgID == Organisation.OrgID 
WHERE 
    EmpId = ?;

This link will give you more details

编辑:忘记包含WHERE子句