人力资源经理需要按姓氏,受抚养人的名字和受抚养的出生日期列出员工名单。相关的输出列是employee表中的emp_last_name和依赖表中的dep_name和dep_date_of_birth。使用别名表名称。适当地命名每列。按emp_last_name对结果表进行排序。使用CAST语句生成一个可以轻松放在一个页面上的列表。
到目前为止,我有这个:
SELECT emp_last_name"Employee Last Name",
dep_name"Dependent Name",
CAST(dep_date_of_birth as char(12))"Dependent Date of Birth"
from employee dependent
ORDER BY emp_last_name;
但是我无法弄清楚如何加入它,因为有很多具有相同姓氏的家属。不,这不是功课。我在教自己SQL Server,我遇到了一些问题。只是想从那些知道自己在做什么的人那里得到一些帮助。
答案 0 :(得分:1)
您可以使用JOIN
SELECT e.emp_last_name "Employee Last Name",
d.dep_name "Dependent Name",
CAST(d.dep_date_of_birth as char(12))"Dependent Date of Birth"
from employee e INNER JOIN dependent d ON e.emp_ssn = d.dep_emp_ssn
ORDER BY emp_last_name;
或者,您可以像这样加入表格:
SELECT e.emp_last_name "Employee Last Name",
d.dep_name "Dependent Name",
CAST(d.dep_date_of_birth as char(12))"Dependent Date of Birth"
from employee e, dependent d
WHERE e.emp_ssn = d.dep_emp_ssn
ORDER BY emp_last_name;
如果您还想包括没有家属的员工,请使用LEFT JOIN:
SELECT e.emp_last_name "Employee Last Name",
d.dep_name "Dependent Name",
CAST(d.dep_date_of_birth as char(12))"Dependent Date of Birth"
from employee e LEFT JOIN dependent d ON e.emp_ssn = d.dep_emp_ssn
ORDER BY emp_last_name;