SQL查询实例:从学生、课程到教师的数据库操作
需积分: 47 142 浏览量
更新于2024-07-24
2
收藏 126KB DOC 举报
"50个常用SQL语句实例"
这些SQL语句实例涵盖了数据库操作的基础和进阶技巧,包括查询、联接、聚合函数、条件过滤等。以下是对部分给出的SQL语句的详细解释:
1. 查询"数学"课程成绩高于"英语"课程的所有学生学号:
这个查询通过子查询比较了两门课程的成绩,并找出在"数学"课程中得分高于"英语"课程的学生。`a.score > b.score` 是比较条件,`a.s# = b.s#` 确保比较的是同一个学生。
2. 查询平均成绩超过60分的同学的学号和平均成绩:
使用`GROUP BY`语句按学号分组,然后使用`AVG(score)`计算每个学生的平均成绩,`HAVING`子句在分组后进行过滤,只保留平均成绩大于60的记录。
3. 查询所有同学的学号、姓名、选课数、总成绩:
这是一个左外连接查询,将`Student`表与`SC`表连接,即使在`SC`表中没有对应记录的学生也会显示出来。`COUNT(SC.C#)`计算每名学生的选课数,`SUM(score)`计算总成绩。
4. 查询姓"李"的老师的数量:
`LIKE '李%'` 是一个模糊匹配操作,它会找到所有名字以"李"开头的老师。`DISTINCT`关键字确保每个不同的老师只被计数一次。
5. 查询没学过"叶平"老师课程的同学的学号和姓名:
使用`NOT IN`操作符和子查询,找出所有在`SC`表中没有与"叶平"(在`Teacher`表中)关联的学号,即这些学生没有上过"叶平"的课。
此外,实例中还展示了创建临时表和删除数据库的操作,这在处理大量数据或复杂查询时非常有用。`IF EXISTS`检查表是否存在,`DROP TABLE`用于删除,而`CREATE TABLE`和`SELECT INTO`则用于创建新表并填充数据。
SQL是数据库管理和数据分析的核心工具,理解并熟练掌握这些基本语句对于数据库管理员、数据分析师以及任何需要处理数据的人来说至关重要。通过练习这些实例,可以加深对SQL语法的理解,提高在实际工作中的应用能力。
2012-01-08 上传
2021-10-10 上传
2009-09-02 上传
2010-12-04 上传
2011-08-26 上传
2013-03-05 上传