任务1
测试您的知识:(要在虚拟机练习环境里面执行命令)
1.以下SELECT语句成功执行:(是或否)
SELECT last_name, job_id, salary AS Sal
FROM employees;
2.以下SELECT语句成功执行:(是或否)
SELECT *
FROM job_grades;
3.以下语句中存在4个编码错误。 你能认出他们吗?
SELECT employee_id, last_name
sal x 12 ANNUAL SALARY
FROM employees;
- 没有sal 字段
- 乘号不是x,是*
- ANNUAL SALARY 没有用引号引起来
- Last_name 后面缺少逗号
任务2
您已被聘为Acme Corporation的SQL程序员。 您的第一个任务是根据”人力资源”表中的数据创建一些记录。
1.你的首要任务是确定各部门表和它的内容的结构。
连接上昨天的环境,然后运行描述命令 Desc departments;
上面这张表格只列出了4个字段的列,可以写成
SELECT *
FROM departments;
或者
SELECT department_id,department_name,manager_id,location_id
FROM departments;
2. 您的任务是确定DEPARTMENTS表的结构及其内容。
a. 确定EMPLOYEES表的结构。
执行描述命令
b. 人力资源部门希望查询以显示每个雇员的姓,工作ID,雇用日期和雇员ID,其中雇员ID首先出现。 为HIRE_DATE列提供别名STARTDATE。 将您的SQL语句保存到名为lab_02_05.sql的文件中,以便您可以将此文件分派给HR部门。在lab_02_05.sql文件中测试您的查询,以确保其正确运行。
执行语句
SELECT employee_id, last_name, job_id, hire_date StartDate
FROM employees;
执行完成后,文件—另存为,然后文件名为lab_02_05.sql,保存到 /home/oracle/labs/sql1/labs 路径中
3.人力资源部门希望查询以显示EMPLOYEES表中的所有唯一作业ID。
SELECT DISTINCT job_id
FROM employees;
任务3
1.人力资源部门需要其员工报告的更多描述性列标题。将语句从lab_02_05.sql复制到新的SQL工作表中。 分别将列命名为Emp#,Employee,Job和Hire Date。 然后再次运行查询。
SELECT employee_id “Emp #”, last_name “Employee”,job_id “Job”, hire_date “Hire Date”
FROM employees;
2.人力资源部门已要求提供所有雇员及其工作ID的报告。 显示与工作ID关联的姓氏(用逗号和空格分隔),并将列Employee和Title命名。
…
SELECT last_name||’, ‘||job_id “Employee and Title”
FROM employees;
3.要熟悉EMPLOYEES表中的数据,请创建一个查询以显示该表中的所有数据。 用逗号分隔每列输出。 将列命名为THE_OUTPUT。
…
SELECT employee_id || ‘,’ || first_name || ‘,’ || last_name
|| ‘,’ || email || ‘,’ || phone_number || ‘,’|| job_id
|| ‘,’ || manager_id || ‘,’ || hire_date || ‘,’
|| salary || ‘,’ || commission_pct || ‘,’ ||
department_id
THE_OUTPUT
FROM employees;