卑南主山资讯网
国内新闻 当前位置:首页 > 国内新闻 > 正文

学以致用,MYSQL常用SQL语法强化实战

学习使用,MYSQL常用SQL语法加强实战

2019

在前面的章节中,我们介绍了Mysql的基本语法,SQL语法优化等。我想将其用作完整的SQL学习教程,但也缺少一些巩固的练习。本文主要将前面各章中描述的应用程序结合到特定的实践中。

SQL语法练习分为三个部分:基本,高级和强化。每个部分有十个案例。本文主要介绍一些加强练习的例子。

演示数据

学生信息表

将以下数据插入学生信息表格:

教师信息表

将以下数据插入教师信息表格:

课程信息表

将以下数据插入课程信息表:

成绩信息表

将以下数据插入成绩信息表:

使用上述SQL,我们可以创建学生,教师,课程,成绩信息表,并插入示例数据以生成以下演示数据:

1获取所有学生的成绩和所有学生的平均成绩,并按平均成绩的降序显示。

上面的SQL查询结果如下:

2获取未参加“ Eva”老师教的任何课程的学生的姓名。

上面的SQL查询结果如下:

3在“ Eva”老师选择的学生中查询学生的最高分数及其成绩。

上面的SQL查询结果如下:

4找到每门课程的前两个最佳成绩。

上面的SQL查询结果如下:

在前面的示例中,我们还使用了any_value函数。此函数的作用如下:

在MySQL 5.7之后,默认情况下sql_mode中的only_full_group_by模式设置为默认状态。 only_full_group_by的语义是确定选择目标列表中所有列的值都是显式语义。简单来说,目标列表中的值要么来自聚合函数(求和,平均,最大值等)。或group by列表中表达式的值,除此之外还会触发异常。 MySQL提供了any_value函数来抑制only_full_group_by值被拒绝,并且any_value选择与返回数据相同的数据组中第一个数据的指定列值。 {!-PGC_COLUMN-}

5按每个年级排序并显示排名。

上面的SQL查询结果如下:

6按每个主题的分数排序并显示排名。等级相同时,排名也相同。

上面的SQL查询结果如下:

7获取有关与课程编号为1的课程相同的其他学生的信息。

8获得两门或两门以上课程成绩不及格(95分)的学生的学生人数,姓名和平均分数。

上面的SQL查询结果如下:

9查询每个主题的最高分数,最低分数和平均分数。需要输出课程号和选修课数。查询的结果按人数的降序排列。如果数字相同,则按课程编号升序排列。

上面的SQL查询结果如下:

在前面的章节中,我们介绍了Mysql的基本语法,SQL语法优化等。我想将其用作完整的SQL学习教程,但也缺少一些巩固的练习。本文主要将前面各章中描述的应用程序结合到特定的实践中。

SQL语法练习分为三个部分:基本,高级和强化。每个部分有十个案例。本文主要介绍一些加强练习的例子。

演示数据

学生信息表

将以下数据插入学生信息表格:

教师信息表

将以下数据插入教师信息表格:

课程信息表

将以下数据插入课程信息表:

成绩信息表

将以下数据插入成绩信息表:

使用上述SQL,我们可以创建学生,教师,课程,成绩信息表,并插入示例数据以生成以下演示数据:

1获取所有学生的成绩和所有学生的平均成绩,并按平均成绩的降序显示。

上面的SQL查询结果如下:

2获取未参加“ Eva”老师教的任何课程的学生的姓名。

上面的SQL查询结果如下:

3在“ Eva”老师选择的学生中查询学生的最高分数及其成绩。

上面的SQL查询结果如下:

4找到每门课程的前两个最佳成绩。

上面的SQL查询结果如下:

在前面的示例中,我们还使用了any_value函数。此函数的作用如下:

在MySQL 5.7之后,默认情况下sql_mode中的only_full_group_by模式设置为默认状态。 only_full_group_by的语义是确定选择目标列表中所有列的值都是显式语义。简单来说,目标列表中的值要么来自聚合函数(求和,平均,最大值等)。或group by列表中表达式的值,除此之外还会触发异常。 MySQL提供了any_value函数来抑制only_full_group_by值被拒绝,并且any_value选择与返回数据相同的数据组中第一个数据的指定列值。 {!-PGC_COLUMN-}

5按每个年级排序并显示排名。

上面的SQL查询结果如下:

6按每个主题的分数排序并显示排名。等级相同时,排名也相同。

上面的SQL查询结果如下:

7获取有关与课程编号为1的课程相同的其他学生的信息。

8获得修读两门或以上不合格课程的学生的学生人数,姓名和平均成绩(95分)。

上面的SQL查询结果如下:

9查询每个主题的最高分数,最低分数和平均分数。需要输出课程号和选修课数。查询的结果按人数的降序排列。如果数字相同,则按课程编号升序排列。

上面的SQL查询结果如下:



卑南主山资讯网 版权所有© www.42ubik.com 技术支持:卑南主山资讯网 | 网站地图