第五章 数据的简单查询
1:投影操作 select 列名列表 from 表名;
如果我们选择某个表中的多个列,那么列名之间用逗号分隔开;
如果是单个列,只需要列出该列的列名即可;
如果选择所有的列,可以简单地用“*”号带代替列名列表。
2.表前缀
select student.name from student;
3.列别名
select 列A as A ,列B as B,列C as C from 表名 as T;
4.计算列
select name "姓名", age+10 as "十年后的年龄" from student;
5.排除重复数据
select distinct age from student;
2.表前缀
select student.name from student;
3.列别名
select 列A as A ,列B as B,列C as C from 表名 as T;
4.计算列
select name "姓名", age+10 as "十年后的年龄" from student;
5.排除重复数据
select distinct age from student;
第五章 简单数据查询
ER: 选择操作:
1:单条件选择操作
eg:select * from student where name=‘张三’;
2:多条件选择操作
组合where条件 and or;
eg: select * from student where age>18 and age<34;
eg: select * from student where age<18 or age>34;
3:执行范围测试(BETWEEN) 一个范围搜索,大于等于下限,并且小于等于上限。
eg:SELECT 列A, 列B FROM 表 WHERE 列C BETWEEN 下限 AND 上限;
4: 定义集合关系(IN或NOT IN)
eg:SELECT 列A, 列B FROM 表 WHERE 列C IN (值集合);
5:模糊查询(LIKE)
eg:SELECT 列A, 列B FROM 表 WHERE 列C LIKE 模式;
ER: 选择操作:
1:单条件选择操作
eg:select * from student where name=‘张三’;
2:多条件选择操作
组合where条件 and or;
eg: select * from student where age>18 and age<34;
eg: select * from student where age<18 or age>34;
3:执行范围测试(BETWEEN) 一个范围搜索,大于等于下限,并且小于等于上限。
eg:SELECT 列A, 列B FROM 表 WHERE 列C BETWEEN 下限 AND 上限;
4: 定义集合关系(IN或NOT IN)
eg:SELECT 列A, 列B FROM 表 WHERE 列C IN (值集合);
5:模糊查询(LIKE)
eg:SELECT 列A, 列B FROM 表 WHERE 列C LIKE 模式;
通配符 “_”通配符:表示任何单个字符
“%”通配符:表示包含零个或多个任意字符
6:处理空值数据 IS IS NOT
eg: SELECT * FROM t_student WHERE 性别 IS NULL;
SAN :排序操作 ASC :升序排列 DESC:降序排列 默认为升序排列
1:单列排序
eg:SELECT 列A, 列B, 列C FROM 表 ORDER BY 列A;
2:多列排序
eg:SELECT 列A, 列B, 列C FROM 表 ORDER BY 列A, 列B, 列C...;
3:基本查询SQL的执行顺序
6:处理空值数据 IS IS NOT
eg: SELECT * FROM t_student WHERE 性别 IS NULL;
SAN :排序操作 ASC :升序排列 DESC:降序排列 默认为升序排列
1:单列排序
eg:SELECT 列A, 列B, 列C FROM 表 ORDER BY 列A;
2:多列排序
eg:SELECT 列A, 列B, 列C FROM 表 ORDER BY 列A, 列B, 列C...;
3:基本查询SQL的执行顺序
第一步:执行FROM
第二步:WHERE条件过滤
第三步:执行SELECT投影列
第四步:执行ORDER BY 排序
第六章 聚合函数与分组
6.1 使用聚合函数进行统计汇总
count :返回结果集中行的数目
sum:返回结果集中所有值的总和
avg:返回结果集中所有值的平均值
max:返回结果集中所有值的最大值
min:返回结果集中所有值的最小值
6.1.1执行行和列计算
select count (计算规范)from 表名;
计算规范关键字:
* :计算所有选择的行,包括null。
all:计算指定列的所有的非空值行。
distinct: 计算指定列的所有唯一非空值行。
6.1.2 返回列合计值
select sum (计算规范) from 表名;
6.1.3 获取列平均值
select avg (计算规范) from 表名;
6.1.4 返回最大值和最小值
select sum (计算规范) from 表名; sum()是没有*的 只有 列名 或则 distinct 列名
select sin (计算规范) from 表名;
6.1 使用聚合函数进行统计汇总
count :返回结果集中行的数目
sum:返回结果集中所有值的总和
avg:返回结果集中所有值的平均值
max:返回结果集中所有值的最大值
min:返回结果集中所有值的最小值
6.1.1执行行和列计算
select count (计算规范)from 表名;
计算规范关键字:
* :计算所有选择的行,包括null。
all:计算指定列的所有的非空值行。
distinct: 计算指定列的所有唯一非空值行。
6.1.2 返回列合计值
select sum (计算规范) from 表名;
6.1.3 获取列平均值
select avg (计算规范) from 表名;
6.1.4 返回最大值和最小值
select sum (计算规范) from 表名; sum()是没有*的 只有 列名 或则 distinct 列名
select sin (计算规范) from 表名;
-- ifnull() 后面跟两个参数 1 列名 2 显示的值
select avg (ifnull(score,0)) from t_les6;第六章 数据聚合于分组
6.2 数据分组
6.2.1 过滤分组数据 group by
eg: select 列A,聚合函数(聚合函数规范) from 表名 where 过滤条件 group by 列A;
6.2.2 使用having 子句
select 列A,聚合函数(聚合函数规范) from 表名 where 过滤条件 group by 列A having 过滤条件;
having 与 where 的区别:二者都是过滤条件,where运行在分组前,因此不能执行任何聚合函数。having是运行在分组后,只能用做聚合函数的过滤。
6.2.3 SQL执行顺序
第一步:执行FROM
6.2 数据分组
6.2.1 过滤分组数据 group by
eg: select 列A,聚合函数(聚合函数规范) from 表名 where 过滤条件 group by 列A;
6.2.2 使用having 子句
select 列A,聚合函数(聚合函数规范) from 表名 where 过滤条件 group by 列A having 过滤条件;
having 与 where 的区别:二者都是过滤条件,where运行在分组前,因此不能执行任何聚合函数。having是运行在分组后,只能用做聚合函数的过滤。
6.2.3 SQL执行顺序
第一步:执行FROM
第二步:WHERE条件过滤
第三步:GROUP BY分组
第四步:执行SELECT投影列
第五步:HAVING条件过滤
第六步:执行ORDER BY 排序