我有两张桌子EMPLOYEE
& DEPENDENT
。员工PK
为SSN
,依赖表的外键为ESSN
。我正在尝试检索所有员工的姓名及其受抚养人的姓名。如果员工没有依赖,我只需要在依赖列中显示空白值。
要检索具有受抚养人的员工的姓名,这是我使用的陈述:
SELECT
firstName AS "First Name",
lastName AS "Last Name",
dependent_name AS "Dependent Name"
FROM employee,dependent
WHERE ssn=essn;
如果有人可以指导我朝着正确的方向前进,那将非常感激。
答案 0 :(得分:2)
使用left join
获取第一个表中的所有行,即使第二个表中没有匹配项:
SELECT
firstName AS "First Name",
lastName AS "Last Name",
dependent_name AS "Dependent Name"
FROM employee
LEFT JOIN dependent ON dependent.essn = employee.ssn;
我也将隐式旧式连接更改为符合ANSI标准的显式连接。