SQL基础查询与排序

1. select语句基础

select是从表中选取指定数据的意思,通过select语句选取数据的过程被称为query。

select col_name_1,...,col_name_n
from table_name
where expression;

首先添加一个stu_info表如下图所示:
在这里插入图片描述
【例子】从stu_info表中查找出age为18岁的学生name

select name
from stu_info
where age = 18;

在这里插入图片描述

  • 当select后面接*时,表示全部选取全部列
  • selectcol_name之间添加distinct可以去重

2. 算符运算符和比较运算符

  • 四则运算符

    • +
    • -
    • *
    • /
  • 比较运算符

    • =等于
    • <>不等于
    • <小于
    • >大于
    • <=小于等于
    • >=大于等于

【例子】从stu_info表中查找出age大于18岁的学生name

select name
from stu_info
where age > 18;

在这里插入图片描述

3. 逻辑运算符

3.1 not,and和or运算符

  • not 非,表示否定
  • and与,表示并且
  • or或,表示或者

【例子】从stu_info表中查找出age不大于18岁的学生name

select name
from stu_info
where not age > 18;

在这里插入图片描述
【例子】从stu_info表中查找出age大于18岁并且小于20的学生name

select name
from stu_info
where age > 18 and age < 20;

在这里插入图片描述
【例子】从stu_info表中查找出age小于18岁或者大于20的学生name

select name
from stu_info
where age <= 18 or age >= 20;

在这里插入图片描述
在同时使用and和or的时候要注意,and运算符的优先级大于or运算符如果想要优先执行or运算,可以使用小括号( )包裹起来。

4. 聚合查询

4.1 聚合函数

SQL语句中用于汇总数据的函数叫做聚合函数

  • count:计算表中的行数
  • sum:计算表中数值列中数据的和
  • avg:计算表中数值列中数据的平均值
  • max:计算表中任意列中数据的最大值
  • min:计算表中任意列中数据的最小值

【例子】计算表中全部数据的行数

select count(*) from stu_info;

在这里插入图片描述
【例子】计算表中age的和

select sum(age) from stu_info;

在这里插入图片描述

【例子】计算表中age的平均数

select avg(age) from stu_info;

在这里插入图片描述

【例子】查找表中age 的最大值

select max(age) from stu_info;

在这里插入图片描述

【例子】查找表中age的最小值

select min(age) from stu_info;

在这里插入图片描述

5. 对表分组

5.1 group by 语句

group by语句是用来帮助数据进行分组的。

select col_name_1,...,col_name_n
from table_name 
where expression
group by col_name_1,...,col_name_n;

【例子】对age进行分组

select age
from stu_info
group by age;

在这里插入图片描述
这里把age分为了三组,18,19,20

5.2 取出特定分组

要是只要取出某些特定的分组,就要使用having关键字。

select col_name_1,...,col_name_n
from table_name 
where expression
group by col_name_1,...,col_name_n
having expression;

【例子】取出age等于18的分组并统计分组内的个数

select age,count(*)
from stu_info
group by age
having age = 18;

在这里插入图片描述

6. 排序

SQL的执行结果是随机的,如果需要对数据进行排序,使用order by语句。

select col_name_1,...,col_name_n
from table_name 
where expression
group by col_name_1,...,col_name_n
having expression
order by expression(DESC); # DESC表示倒叙排列

【例子】对age进行排序,输出name和age

select name,age from stu_info order by age DESC;
select name,age from stu_info order by age;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值