3.16 考虑图3-20中的雇员数据库,其中加下划线的是主码。给出下面每个查询对应的SQL表达式:
a.找出所有为"First Bank Corporation"工作的雇员名字。
数据库表的关系请参考习题3-9。根据我们的数据,现在我们找出“公司_1”的所有雇员吧。
select employee_name from works where company_name = '公司_1';
employee_name
---------------
雇员_1
雇员_2
(2 rows)
b.找出数据库中所有居住城市和公司所在城市相同的雇员。
select E.employee_name, C.company_name, E.city from
(employee as E natural join works) join company as C using (company_name, city);
employee_name | company_name | city
---------------+--------------+--------
雇员_1 | 公司_1 | 城市_1
雇员_3 | 公司_2 | 城市_2
雇员_4 | 公司_2 | 城市_2
雇员_5 | 公司_3 | 城市_3
雇员_6 | 公司_3 | 城市_3
雇员_2 | 公司_1 | 城市_1
(6 rows)