SQL 查询员工数据

SQLBeginner
立即练习

介绍

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

👀 预览

SQL 查询预览图像

🎯 任务

在本项目中,你将学习:

  • 如何查询特定员工的工作和入职日期信息
  • 如何查询排除特定部门的所有员工信息
  • 如何根据薪资阈值查询员工信息
  • 如何查询具有特定职位的员工信息,并限制结果

🏆 成果

完成本项目后,你将能够:

  • 理解如何使用 SQL 查询从数据库表中筛选和检索数据
  • 应用各种 SQL 子句和运算符来优化你的数据查询
  • 展示你编写高效且有效的 SQL 查询以满足特定数据检索要求的能力

启动 MySQL 并导入数据

在这一步中,你将学习如何启动 MySQL 服务器并导入人事数据库数据。

  1. 启动 MySQL 服务器:

    sudo /etc/init.d/mysql start
  2. 登录 MySQL 终端:

    mysql -uroot
  3. personnel.sql 数据导入 MySQL 数据库:

    SOURCE ~/project/personnel.sql

现在人事数据库已准备好供你查询。

✨ 查看解决方案并练习

查询员工“SMITH”的工作和入职日期

在这一步中,你将学习如何使用 SELECTFROMWHERE 子句从 emp 表中查询员工“SMITH”的工作和入职日期信息。

  1. 使用你喜欢的文本编辑器在 /home/labex/project 目录中创建一个名为 answer.sql 的新文件。
  2. 将以下代码添加到 answer.sql 文件中:
-- 查询员工 `SMITH` 的工作信息 (`job`) 和入职日期 (`hiredate`)
SELECT job, hiredate FROM emp WHERE ename = 'SMITH';
  1. 保存 answer.sql 文件。
✨ 查看解决方案并练习

查询排除部门 20 的员工信息

在这一步中,你将学习如何使用 SELECTFROMWHERE 子句以及 != 运算符来查询不属于部门编号 20 的所有员工信息。

  1. 将以下代码添加到 answer.sql 文件中:
-- 查询不属于部门编号 `deptno` 20 的所有员工信息
SELECT * FROM emp WHERE deptno!= 20;
  1. 保存 answer.sql 文件。
✨ 查看解决方案并练习

查询薪资大于 2000 的员工信息

在这一步中,你将学习如何使用 SELECTFROMWHERE 子句以及 > 运算符来查询所有薪资大于 2000 的员工信息。

  1. 将以下代码添加到 answer.sql 文件中:
-- 查询所有薪资 (`sal`) 大于 2000 的员工信息
SELECT * FROM emp WHERE sal > 2000;
  1. 保存 answer.sql 文件。
✨ 查看解决方案并练习

查询有销售限制的员工信息

在这一步中,你将学习如何使用 SELECTFROMWHERELIMIT 子句来查询所有职位为“销售”的员工信息,并将结果限制为三条。

  1. 将以下代码添加到 answer.sql 文件中:
-- 查询所有职位为“销售”的员工信息,并将结果限制为三条
SELECT * FROM emp WHERE job = 'SALESMAN' LIMIT 3;
  1. 保存 answer.sql 文件。

现在你已经完成了这个项目。你可以在 MySQL 终端中执行 answer.sql 脚本以查看结果:

SOURCE ~/project/answer.sql
SQL 查询结果预览
✨ 查看解决方案并练习

总结

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