Lesson2 练习及参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习2
1. 创建一个查询,显示收入超过$12,000 的雇员的名字和薪水。将SQL 语句存到文件
lab2_1.sql 中,运行该查询。
SELECT last_name, salary
FROM employees
WHERE salary > 12000;
2. 创建一个查询,显示雇员号为176 的雇员的名字和部门号。
SELECT last_name, department_id
FROM employees
WHERE employee_id = 176;
3. 修改lab2_1.sql 文件,显示所有薪水不在5000 和12000 之间的雇员的名字和薪水。
将SQL 语句存到文件lab2_3.sql 中。
SELECT last_name, salary
FROM employees
WHERE salary NOT BETWEEN 5000 AND 12000;
4. 显示受雇日期在2002年2月20日和2003年5月1日之间的雇员的名字、岗位和
受雇日期。按受雇日期顺序排序查询结果。
SELECT last_name, job_id, hire_date
FROM employees
WHERE hire_date BETWEEN '2002-02-20' AND '2003-5-01'
ORDER BY hire_date;
5. 显示所有在部门20 和50 中的雇员的名字和部门号,并以名字按字母顺序排序。
SELECT last_name, department_id
FROM employees
WHERE department_id IN (20, 50)
ORDER BY last_name;
6. 修改lab2_3.sql 列出收入在$5,000 和$12,000 之间,并且在部门20 或50 工作的
雇员的名字和薪水。将列标题分别显示为Employee 和Monthly Salary,将
lab2_3.sql 保存为lab2_6.sql。运行lab2_6.sql 中的语句。
SELECT last_name "Employee", salary "Monthly Salary"
FROM employees
WHERE salary BETWEEN 5000 AND 12000
AND department_id IN (20, 50);
7. 显示每一个在1994 年受雇的雇员的名字和受雇日期。
SELECT last_name, hire_date
FROM employees
WHERE hire_date LIKE '2004%';
8. 显示所有没有主管经理的雇员的名字和工作岗位。
SELECT last_name, job_id
FROM employees
WHERE manager_id IS NULL;
9. 显示所有有佣金的雇员的名字、薪水和佣金。以薪水和佣金的降序排序数据。
SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pct IS NOT NULL
ORDER BY salary DESC, commission_pct DESC;
如果你有时间,完成下面的练习:
10. 显示所有名字中第三个字母是a 的雇员的名字。
SELECT last_name
FROM employees
WHERE last_name LIKE '__a%';
11. 显示所有名字中有一个a 和一个e 的雇员的名字。
SELECT last_name
FROM employees
WHERE last_name LIKE '%a%'
AND last_name LIKE '%e%';
如果你想要额外的挑战,完成下面的练习:
12. 显示所有工作是销售代表或者普通职员,并且薪水不等于$2,500、$3,500 或$7,000
的雇员的名字、工作和薪水。
SELECT last_name, job_id, salary
FROM employees
WHERE job_id IN ('SA_REP', 'ST_CLERK')
AND salary NOT IN (2500, 3500, 7000);
13. 修改lab2_6.sql 显示所有佣金总计为20% 的雇员的名字、薪水和佣金。保存
lab2_6.sql 为lab2_13.sql。再运行lab2_13.sql 中的语句。
SELECT last_name "Employee", salary "Monthly Salary",
commission_pct
FROM employees
WHERE commission_pct = 0.20;