SQL语句之基础篇第三章

SQL语句之基础篇第三章

本篇主要介绍去重操作符DISTINCT、AND&OR运算符、聚合函数COUNT()、MAX()、MIN()、SUM()、AVG()、排序操作符ORDER BY、分组操作符GROUP BY、HAVING子句的基本使用。

备注:若文中有存在问题的内容,请大家多多指教,欢迎大家打扰以及指导.........................

1.SELECT DISTINCT(去重操作符)

作用:对表中列的值进行去除重复的操作,仅返回唯一不同的值

student表结构如下图
在这里插入图片描述

 查询student表中包含哪些name,剔除重复name:select distinct name from student;

返回结果如下图,对name=‘张飞’的值进行了去重操作:
在这里插入图片描述

2.AND & OR运算符

作用:在where子句中把两个或多个条件结合起来进行查询
1、当两个条件都成立时,and运算符显示一条记录
2、当两个条件只有当中的任意一个条件成立时,则or运算符显示一条记录,当两个条件都成立时,显示符合条件的两条记录

 and运算符实例:select * from student where name='熊大' and age=16;

返回结果如下图:
在这里插入图片描述

or运算符实例:select * from student where name='熊大' or age=20;

返回结果如下图:
在这里插入图片描述

结合AND和OR运算符进行查询(使用圆括号组成复杂的表达式)如下实例:

SELECT * FROM student WHERE (name='熊大' OR age=20) AND id='A0001'
备注:查找name值等于熊大或者age只等于20,并且id=A0001的数据,
     当name等于熊大,age不等于20,但是id=A0001成立时,根据name与id值筛选出一条数据显示出来
     当name不等于熊大,age等于20,但是id=A0001成立时,根据age与id值筛选出一条数据显示出来
     当name条件与age条件同时成立,id不等于A0001时,返回值应为空

返回结果如下图:
在这里插入图片描述

3.聚合函数COUNT()、MAX()、MIN()、SUM()、AVG()

作用:count():统计表中的记录条数,对单列的条数统计时,不会自动去重
max():统计最大值<==>min():统计最小值
sum():求和、、、、、avg():求平均值

查询student表中总数据条数:select count(*) from student;

返回结果如下:
在这里插入图片描述

统计student表中name列值的数据条数: select count(name) from student;

返回结果如下:
在这里插入图片描述

查询age最大值:select max(age) from student;

返回结果如下:
在这里插入图片描述

查询age最小值:select min(age) from student;

返回结果如下:
在这里插入图片描述

查询age字段值的总和:select sum(age) from student;

返回结果如下:
在这里插入图片描述

查询age值的平均值:select avg(age) from student;

返回结果如下:
在这里插入图片描述

4.排序-ORDER BY

用于对结果集进行排序,默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。支持单列或多列排序

单列升序排序实例:select * from student order by id;

返回结果如下:
在这里插入图片描述

单列降序排序实例:select * from student order by desc;

返回结果如下:
在这里插入图片描述

多列升序排序实例:select * from student order by id,age;

返回结果如下:
在这里插入图片描述
备注:在使用order by进行多列排序时,根据返回结果得出,只以order by之后的第一个列的排序为准,第二个列的值并没有进行对应的排序

5.分组-GROUP BY

用于结合聚合函数,根据一个或多个列对结果集进行分组,group by为分组函数,一般和聚合函数配合使用,可以按一个列或多个列进行分组,参与分组的多个列有一个不相同就是不同的组,例如按身份证号和用户号分组,身份证号和用户号一致才算一组,否则算两组

查询每个id下的age值存在多个条记录:
select id count(age) 
from student 
group by id

返回结果如下:
在这里插入图片描述

6.HAVING子句

备注:用于筛选满足条件的组,在分组后过滤数据,
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据

实例:查询每个name的记录条数大于1的数据:
select name,count(*)
from student
group by name
having count(*)>1

返回结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值