SQL查询实例:从学生、课程到教师的数据库操作

需积分: 47 35 下载量 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语法的理解,提高在实际工作中的应用能力。