MySQL数据库之数据查询

1.集函数查询

1.1 集合

在数学的概念中,指定的某些对象的全体称为一个集合。在MySQL中的集合是指查询结果中的全体记录。

1.2 函数

计算机中的函数是实现固定运算功能的一个程序段或子程序。计算机中函数调用格式:函数名(参数1,参数2,……)

1.3 集合函数查询

集合函数查询是指对查询的结果记录集针对某个或某几个列利用某个函数实施相应的运算,并输出运算结果,一般用于对某个或某几个列的值进行统计计算操作。
如:COUNT(student_id)、MAX)、MIN()、AVG()、SUM()等等

1.4 MySQL常用的集函数及功能

image-20220425153032483

1.6.2 举例2

问题

在department中查找教师人数最多是多少。

查询指令

查询结果

以下是的执行结果集

虚表不能进行编辑、导出SQL操作

image-20220425153801748

2.简单查询

所有列查询是指查询结果返回数据源的所有字段,而指定列查询是指只返回数据源查询的部分字段

2.1 所有列查询

所有列查询不会对数据源进行任何筛选和限制,直接返回数据源的所有行和所有列,所以我们可以用来代表所有行和所有列

2.1.1 语句格式

2.1.2 功能

返回表的所有记录的所有列。

2.1.3 举例1

已知数据表student,使用如下SQL查询语句可以返回student表的所有列。

查询指令

查询结果

在GaussDB(for MySQL)管理控制平台执行上述SQL查询命令,结果如下图所示。

image-20220425163105748

student表

学号 姓名 性别 出生年月 籍贯 班级编号
190101 江珊珊 2000-01-09 内蒙古 A1011901
190102 刘东鹏 2001-03-08 北京 A1011901
190115 崔月月 2001-03-17 黑龙江 A1011901
190116 白洪涛 2002-11-24 上海 A1011901
190117 邓中萍 2001-04-09 辽宁 A1011901
190118 周康乐 2001-10-11 上海 A1011901
190121 张宏德 2001-05-21 辽宁 A1011901
190132 赵迪娟 2001-02-04 北京 A1011901
200413 杨水涛 2002-01-03 河北 A1022004
200417 李晓薇 2002-04-10 上海 A1022004
200401 罗笑旭 2002-12-23 四川 A1022004
200407 张思奇 2002-09-19 吉林 A1022004
200431 韩璐惠 2001-06-16 河南 A1022004

class表

班级编号 班级名称 班级人数 班长姓名 专业名称 系编号
A1011901 1901 32 江珊珊 软件工程 A101
A1011902 1902 33 赵红蕾 软件工程 A101
A1011903 1903 32 刘西畅 软件工程 A101
A1011904 1904 37 李薇薇 软件工程 A101
A1022001 2001 36 王猛仔 信息安全 A102
A1022002 2002 35 许海洋 信息安全 A102
A1022003 2003 38 何盼女 信息安全 A102
A1022004 2004 32 韩璐惠 信息安全 A102

查询指令

查询结果

class_name student_id student_name gender birth
1 1901 190101 江珊珊 2000-01-09 00:00:00
2 1901 190102 刘东鹏 2001-03-08 O0:00:00
3 1901 190115 崔月月 2001-03-17 00:00:00
4 1901 190116 白洪涛 2002-11-24 00:00:00
5 1901 190117 邓中萍 2001-04-09 00:0o:00

3.2 多表列查询

3.2.2 定义

指查询的数据源(记录源)是多个数据表,查询结果集中的列也分别是来自这些表的列或新增的计算列。

3.2.3 语句格式

3.2.4 说明

  1. :指定查询的多个数据源(数据表名称)。

  2. 多个数据表名称在命令中的排列次序不分先后。

  3. 多个数据表之间能够根据主、外键建立关系。

3.2.5 举例2

问题

根据数据库表student、表course和表score的信息,查看部分学生成绩(学号,姓名,课程名称和成绩)。

其中各数据表的字段(列)分布如下

image-20220425163255379

student表

姓名 性别 出生年月 籍贯 班级编号
190101 江珊珊 2000-01-09 内蒙古 A1011901
190102 刘东鹏 2001-03-08 北京 A1011901
190115 崔月月 2001-03-17 黑龙江 A1011901
190116 白洪涛 2002-11-24 上海 A1011901
190117 邓中萍 2001-04-09 辽宁 A1011901
190118 周康乐 2001-10-11 上海 A1011901
190121 张宏德 学号 辽宁 A1011901
190132 赵迪娟 2001-02-04 北京 A1011901
200413 杨水涛 2002-01-03 河北 A1022004
200417 李晓薇 2002-04-10 上海 A1022004
200401 罗笑旭 2002-12-23 四川 A1022004
200407 张思奇 2002-09-19 吉林 A1022004
200431 韩璐惠 2001-06-16 河南 A1022004

class表

课程编号 课程名称 学时 学分 学期
01-01 数据结构 54 2 2
01-02 软件工程 72 3 4
01-03 数据库原理 72 3 3
01-04 程序设计 54 2 1
02-01 离散数学 54 2 2
02-02 概率统计 54 2 1
02-03 高等数学 72 3 1

score表

学号 课程编号 成绩
190115 01-01 97
190115 01-02 89
190115 01-03 9o
190115 01-04 91
190132 01-01 70
190132 01-02 66
190132 01-03 56
190132 01-04 60
190101 01-01 90
190101 o1-02 76
190101 01-03 87
190101 01-04 94

查询指令

SELECT student.student_id, student_name, course_name, scoreFROM student, course,scoreWHERE score.student_id=student.student_idAND score来源:炒香菇的书呆子
                                                        

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐