sql语句查询获取的结果和原始数据集都是以表的形式存储的。
每一行表示一个记录,每一列表示一个字段
原表的全名是由库名和表名组成的,用"."连接
单表查询
SQL语句组成部分为【关键字】:
select 字段 from 原表 where 筛选条件 group by 分组字段 having-order by
关键字执行顺序为:from-where-group by-select-having-order by
select后面的字段是最终会出现在结果表里的字段,此处字段包含:用于分组的字段+利用聚合函数计算出的字段。select语句可以使用as为所有字段重命名(字段别名)
group by 语句存在下,select后所有非聚合字段都为分组字段,都需要出现在group by语句中(不然会报错)---保证select语句的非聚合字段和group by 后的分组字段完全对应
- group by的执行顺序优先于select,因此select语句起的别名不能用于group by语句中
where是针对行记录进行筛选,而having是对聚合函数生成字段筛选。只有存在group by语句才有having
- having语句的执行顺序在select语句之后,因此可以使用字段别名
聚合函数:对一组值进行计算并返回单一的值,聚合函数一般搭配group by使用
(3条消息) SQL函数之聚合函数(求和,平均值,最大值,最小值,统计,取不重,取重)_sql求和函数_Survivor_lll的博客-CSDN博客https://blog.csdn.net/a_lllll/article/details/87880007order by 语句用于排序,格式是"order by 字段名 asc/desc, 字段2 asc/desc",其中asc表示顺序,desc表示降序。可以进行一个或多个字段排序,可以用字段别名。
今日练习题所得
1、操作符and的优先级高于or,所以可以多个条件并列。条件1 and 条件2 or 条件3 and 条件4---满足条件1且条件2 或者 满足条件3且条件4 的记录
2、排除某些条件的数据,使用 NOT IN ('条件1','条件2')
3、LIKE语句:%代表0或任意个字母,_代表一个字母
字段名 LIKE 'cxh%'——筛选以cxh为开头的字符串;字段名 LIKE '%cxh'——筛选以cxh结尾的字符串;字段名 LIKE '%cxh%'——筛选包含cxh的字符串
4、count计算行数,没有分组时计算的是表中所有记录行数,分组后记录的是各组的行数