SQL 查询员工数据

SQLSQLBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

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

👀 预览

SQL查询预览图像

🎯 任务

在本项目中,你将学习:

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

🏆 成果

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

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

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") sql/BasicSQLCommandsGroup -.-> sql/select("SELECT statements") sql/BasicSQLCommandsGroup -.-> sql/insert("INSERT INTO statements") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") sql/BasicSQLCommandsGroup -.-> sql/create_table("CREATE TABLE statements") sql/DataManipulationandQueryingGroup -.-> sql/where("WHERE clause") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301336{{"SQL 查询员工数据"}} sql/select -.-> lab-301336{{"SQL 查询员工数据"}} sql/insert -.-> lab-301336{{"SQL 查询员工数据"}} mysql/select -.-> lab-301336{{"SQL 查询员工数据"}} mysql/source -.-> lab-301336{{"SQL 查询员工数据"}} sql/create_table -.-> lab-301336{{"SQL 查询员工数据"}} sql/where -.-> lab-301336{{"SQL 查询员工数据"}} mysql/database -.-> lab-301336{{"SQL 查询员工数据"}} end

启动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中练习更多实验来提升你的技能。