【发布时间】:2018-10-27 14:08:22
【问题描述】:
我在获取包含某些特定列中的空值的员工记录时遇到问题。
场景:
我有下表:
employee_id Name job_id department_id
(int) (varchar) (int) (int)
-------------------------------------------------------
1 Sita 1 4
2 Ram 3 5
3 Hari (null) (null)
选择员工记录的查询如下:
SELECT
employees.EMPLOYEE_ID,
employees.Name,
jobs.job_title,
departments.department_name,
FROM
employees,jobs,departments
WHERE
jobs.job_id=employees.job_id
AND departments.department_id=employees.department_id
测试完成:
通过上述查询,我可以获取employee_id = 1 和employee_id = 2 的员工的记录。
面临的问题:
但是使用相同的查询,我无法获取employee_id = 3 的员工的记录。
要求的结果:
应显示employee_id = 3 的记录。
我需要怎样的修正才能得到我想要的结果?
【问题讨论】:
-
只使用左连接
-
您使用的是 MySQL 还是 Oracle? (不要为不涉及的产品添加标签。)
-
今日提示:切换到现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读和维护,如果需要更容易转换为外连接!