在本文中,我们将通过50个经典练习题来帮助你深入理解SQL的核心概念。这些练习题将涵盖SQL的基本语法、查询、数据操作、子查询以及高级功能等方面。通过实践这些题目,你将能够熟练掌握SQL的技能,提升数据处理和分析的能力。
练习题1:选择基本查询
- 请查询员工表中所有员工的姓名。
- 请查询员工表中薪资大于5000的员工姓名。
- 请查询员工表中姓为’张’的员工姓名和薪资。
练习题2:排序和聚合函数
- 请对员工表中的薪资进行升序排序,并选择前10名员工。
- 请计算员工表中所有员工的平均薪资。
- 请计算员工表中薪资大于5000的员工的平均薪资。
练习题3:分组和分组聚合
- 请按部门对员工进行分组,并计算每个部门的平均薪资。
- 请按部门对员工进行分组,并计算每个部门薪资大于5000的员工数量。
- 请按部门对员工进行分组,并计算每个部门的最高薪资和最低薪资。
练习题4:连接表
- 请将员工表和部门表进行连接,以获取每个员工的部门名称。
- 请将员工表和部门表进行连接,以获取每个员工的部门名称和薪资。
- 请将员工表和部门表进行连接,以获取薪资最高的员工的部门名称和薪资。
练习题5:子查询
- 请查询薪资高于平均薪资的员工姓名。
- 请查询每个部门的平均薪资。
- 请查询每个部门的最高薪资和最低薪资。
练习题6:使用条件语句
- 请编写一个查询,当输入员工的姓名时,显示该员工的部门名称和薪资。
- 请编写一个查询,当输入部门名称时,显示该部门所有员工的姓名和薪资。
- 请编写一个查询,当输入薪资范围时,显示该范围内所有员工的姓名、部门名称和薪资。
练习题7:使用聚合函数和GROUP BY
- 请计算每个部门的员工数量。
- 请计算每个部门的平均薪资。
- 请计算每个部门薪资大于5000的员工数量。
练习题8:使用JOIN连接多个表
- 请将员工表、部门表和项目表进行连接,以获取参与某个项目的员工的姓名、部门名称和项目名称。
- 请将员工表、部门表和项目表进行连接,以获取参与某个项目的员工的姓名、部门名称、项目名称和薪资。
- 请将员工表、部门表和项目表进行连接,以获取参与某个项目的员工所属的最高领导姓名。
练习题9:使用窗口函数
- 请计算每个员工的累计薪资。
- 请计算每个员工的相对排名(基于薪资)。
- 请计算每个部门的平均薪资,同时显示每个员工的序号和在该序号下的平均薪资。
练习题10:使用LIKE进行模糊匹配
- 请查询所有姓为’张’的员工姓名。
- 请查询所有名字中包含’李’的员工姓名。
- 请查询所有名字以’王’开头的员工姓名。