介绍
在本项目中,你将学习如何使用 SQL 查询从数据库表中筛选和检索数据。你将练习使用 SELECT、FROM、WHERE 和 LIMIT 子句,以及各种比较和逻辑运算符,来查询存储在人事数据库 emp 表中的员工信息。
👀 预览

🎯 任务
在本项目中,你将学习:
- 如何查询特定员工的工作和入职日期信息
- 如何查询排除特定部门的所有员工信息
- 如何根据薪资阈值查询员工信息
- 如何查询具有特定职位的员工信息,并限制结果
🏆 成果
完成本项目后,你将能够:
- 理解如何使用 SQL 查询从数据库表中筛选和检索数据
- 应用各种 SQL 子句和运算符来优化你的数据查询
- 展示你编写高效且有效的 SQL 查询以满足特定数据检索要求的能力
启动 MySQL 并导入数据
在这一步中,你将学习如何启动 MySQL 服务器并导入人事数据库数据。
启动 MySQL 服务器:
sudo /etc/init.d/mysql start登录 MySQL 终端:
mysql -uroot将
personnel.sql数据导入 MySQL 数据库:SOURCE ~/project/personnel.sql
现在人事数据库已准备好供你查询。
查询员工“SMITH”的工作和入职日期
在这一步中,你将学习如何使用 SELECT、FROM 和 WHERE 子句从 emp 表中查询员工“SMITH”的工作和入职日期信息。
- 使用你喜欢的文本编辑器在
/home/labex/project目录中创建一个名为answer.sql的新文件。 - 将以下代码添加到
answer.sql文件中:
-- 查询员工 `SMITH` 的工作信息 (`job`) 和入职日期 (`hiredate`)
SELECT job, hiredate FROM emp WHERE ename = 'SMITH';
- 保存
answer.sql文件。
查询排除部门 20 的员工信息
在这一步中,你将学习如何使用 SELECT、FROM 和 WHERE 子句以及 != 运算符来查询不属于部门编号 20 的所有员工信息。
- 将以下代码添加到
answer.sql文件中:
-- 查询不属于部门编号 `deptno` 20 的所有员工信息
SELECT * FROM emp WHERE deptno!= 20;
- 保存
answer.sql文件。
查询薪资大于 2000 的员工信息
在这一步中,你将学习如何使用 SELECT、FROM 和 WHERE 子句以及 > 运算符来查询所有薪资大于 2000 的员工信息。
- 将以下代码添加到
answer.sql文件中:
-- 查询所有薪资 (`sal`) 大于 2000 的员工信息
SELECT * FROM emp WHERE sal > 2000;
- 保存
answer.sql文件。
查询有销售限制的员工信息
在这一步中,你将学习如何使用 SELECT、FROM、WHERE 和 LIMIT 子句来查询所有职位为“销售”的员工信息,并将结果限制为三条。
- 将以下代码添加到
answer.sql文件中:
-- 查询所有职位为“销售”的员工信息,并将结果限制为三条
SELECT * FROM emp WHERE job = 'SALESMAN' LIMIT 3;
- 保存
answer.sql文件。
现在你已经完成了这个项目。你可以在 MySQL 终端中执行 answer.sql 脚本以查看结果:
SOURCE ~/project/answer.sql

总结
恭喜!你已经完成了这个项目。你可以在 LabEx 中练习更多实验来提升你的技能。
