-1

人力资源经理需要按姓氏、其家属名字和家属出生日期列出的员工名单。相关的输出列是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,但遇到了一些问题。只是想从那些知道自己在做什么的人那里得到一些帮助。

4

1 回答 1

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;
于 2013-03-28T03:08:03.833 回答