"这是关于数据库查询和SQL语言的学习资料,特别是涉及多表查询和子查询的实践练习。题目来自传智播客的黑马程序员课程,包括创建部门和员工表,以及进行相关查询操作的示例。"
在SQL中,查询是数据库操作的核心部分,用于从表中提取数据。在这个特定的作业中,我们有两个主要的知识点:
1. **查询平均工资**:
在SQL中,`AVG()` 函数用于计算某一列的平均值。在提供的描述中,`SELECT AVG(salary) FROM employee` 是用来获取`employee`表中所有员工的平均工资。这有助于我们了解员工的整体薪资水平。
2. **查询小于平均工资的员工**:
一旦我们有了平均工资,我们可以进一步筛选出工资低于这个平均值的员工。描述中的`SELECT * FROM employee`语句可以扩展为:
```
SELECT * FROM employee WHERE salary < (SELECT AVG(salary) FROM employee)
```
这个查询将返回`employee`表中所有工资低于平均工资的员工记录。`*`表示选择所有列,`WHERE`子句是过滤条件,而嵌套的`SELECT AVG(salary) FROM employee`子查询用于获取平均工资。
此外,题目还提供了一些额外的查询操作示例,如:
3. **查询工资最高的员工**:
使用`MAX()`函数可以找到最高工资。完整的查询语句可能是:
```
SELECT * FROM employee WHERE salary = (SELECT MAX(salary) FROM employee)
```
这将返回工资最高的员工的所有信息。
4. **查询工资大于500的员工**:
可以通过以下方式查询工资高于500的员工:
```
SELECT * FROM employee WHERE salary > 500
```
这些查询展示了如何结合使用SQL的基本函数(如`AVG()`, `MAX()`)和比较运算符来满足不同的查询需求。同时,通过`FOREIGN KEY`定义的外键关联了`employee`和`dept`表,展示了数据库中表之间的关系,这是数据库设计中的重要概念,特别是在进行多表查询时。
在实际应用中,理解并熟练掌握这些查询技巧对于数据分析、业务报表生成以及数据库管理至关重要。通过这样的练习,学习者能够提升SQL技能,更好地处理复杂的数据查询需求。