psql(9.6.1,服务器9.5.5)
ISet
该任务来自Oracle数据库10g的学生指南。我刚刚克隆了PostgreSQL的模式和数据。
所以,任务是: 创建一个报告,列出那些当前的职位名称与公司最初雇用的职位相同的员工的员工ID和职位ID(也就是说,他们改变了工作但现在已经不见了回到原来的工作。)
我的解决方案是:
HashSet
但是已经发布了本课程的实践解决方案。在其中我们可以找到:
hr=> select employee_id, job_id from employees;
employee_id | job_id
-------------+------------
100 | AD_PRES
101 | AD_VP
102 | AD_VP
103 | IT_PROG
104 | IT_PROG
107 | IT_PROG
124 | ST_MAN
141 | ST_CLERK
142 | ST_CLERK
143 | ST_CLERK
144 | ST_CLERK
149 | SA_MAN
174 | SA_REP
176 | SA_REP
178 | SA_REP
200 | AD_ASST
201 | MK_MAN
202 | MK_REP
205 | AC_MGR
206 | AC_ACCOUNT
(20 rows)
hr=> select employee_id, job_id from job_history;
employee_id | job_id
-------------+------------
102 | IT_PROG
101 | AC_ACCOUNT
101 | AC_MGR
201 | MK_REP
104 | ST_CLERK
124 | ST_CLERK
200 | AD_ASST
176 | SA_REP
176 | SA_MAN
200 | AC_ACCOUNT
(10 rows)
但他们的解决方案不是最初的招聘。谁错了:我还是他们?