MySQL多表查询实战:找出最高薪资与低于平均薪资的员工

需积分: 0 0 下载量 63 浏览量 更新于2024-08-04 收藏 240KB DOCX 举报
"每日作业卷1包含了MySQL数据库的多表查询练习,主要涉及子查询的运用,通过两个表格——员工表(employee)和部门表(dept)进行操作。" 在这个练习中,我们首先看到创建了两张表。第一张是部门表(dept),有两个字段:id(主键,自动递增)和name。数据包括三个部门:开发部、市场部和财务部。接着是员工表(employee),包含id(主键,自动递增)、name、gender、salary、join_date和dept_id(外键,关联到dept表的id)。员工数据录入了五名员工,分别属于不同的部门,且他们的工资、性别和入职日期各有不同。 接下来的查询任务是: 1. 查询工资最高的员工是谁? 要完成这个任务,我们可以使用SELECT语句,配合ORDER BY和LIMIT关键字来找出工资最高的员工。具体SQL语句可能是: ```sql SELECT * FROM employee ORDER BY salary DESC LIMIT 1; ``` 这将返回工资最高的员工信息。 2. 查询工资小于平均工资的员工有哪些? 首先计算平均工资,然后查询所有工资低于这个平均值的员工。可以使用子查询来实现: ```sql SELECT * FROM employee WHERE salary < (SELECT AVG(salary) FROM employee); ``` 这会返回所有工资低于员工平均工资的员工信息。 3. 查询大于500的工资的员工。 这个查询相对简单,只需要一个基本的SELECT语句: ```sql SELECT * FROM employee WHERE salary > 500; ``` 它会列出所有工资超过500的员工。 这些练习有助于提升对SQL语言的理解,特别是子查询的应用,以及如何在多表环境中进行数据筛选。通过这样的训练,你可以更好地掌握数据库查询技巧,这对于日常的IT工作,尤其是数据分析、报表生成等方面至关重要。