1.集函数查询
1.1 集合
在数学的概念中,指定的某些对象的全体称为一个集合。在MySQL中的集合是指查询结果中的全体记录。
1.2 函数
计算机中的函数是实现固定运算功能的一个程序段或子程序。计算机中函数调用格式:函数名(参数1,参数2,……)
1.3 集合函数查询
集合函数查询是指对查询的结果记录集针对某个或某几个列利用某个函数实施相应的运算,并输出运算结果,一般用于对某个或某几个列的值进行统计计算操作。
如:COUNT(student_id)、MAX)、MIN()、AVG()、SUM()等等
1.4 MySQL常用的集函数及功能
1.6.2 举例2
问题
在department中查找教师人数最多是多少。
查询指令
查询结果
以下是的执行结果集
虚表不能进行编辑、导出SQL操作
2.简单查询
所有列查询是指查询结果返回数据源的所有字段,而指定列查询是指只返回数据源查询的部分字段
2.1 所有列查询
所有列查询不会对数据源进行任何筛选和限制,直接返回数据源的所有行和所有列,所以我们可以用来代表所有行和所有列
2.1.1 语句格式
2.1.2 功能
返回
2.1.3 举例1
已知数据表student,使用如下SQL查询语句可以返回student表的所有列。
查询指令
查询结果
在GaussDB(for MySQL)管理控制平台执行上述SQL查询命令,结果如下图所示。
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 说明
-
… :指定查询的多个数据源(数据表名称)。 -
多个数据表名称在命令中的排列次序不分先后。
-
多个数据表之间能够根据主、外键建立关系。
3.2.5 举例2
问题
根据数据库表student、表course和表score的信息,查看部分学生成绩(学号,姓名,课程名称和成绩)。
其中各数据表的字段(列)分布如下
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进行处理,非常感谢!