葵花宝典 二十一 数据库sql

DQL
语法: select * from 表名; 查询所有
select 字段名1,字段名2… from 表名;
select DISTINCT 字段名 from 表名; 去除重复的数据

查询的列可以运算
可以使用别名: 使用as 别名 并且as 可以省略
在所有的学生分数上加10分
select name,math+10 from 表名;
统计每个学生的总分
select name,math+english+chinese from 表名;
使用别名
select name,(math+english+chinese) as sum from 表名;

使用where子句 进行过滤查询
查询姓名为xxx 的学生的成绩
select * from 表名 where name=“班长”;
查询英语成绩大于90分的同学
select name,english from 表名 where english>90;
查询总分大于200分的所有同学
select name,math+english+chinese from 表名 where (math+english+chinese)>200;
常用的运算符
比较运算符 逻辑运算符
in(在范围内取)
like 模糊查询
写法 like ‘张_或者%’;
_只能有一个 %查很多
% 的写法 like ‘%张’ 结果xxx张
like ‘张%’ 结果张xxx
like ‘%张%’ 结果只要有张就显示

is null 判断是否为null
and 并且

or 或者
not 不成立
查询英语成绩在80-90之间的同学
select * from 表名 where english>80 and english <90;
between 80 and 90;
查询数学分数为89,90,91的同学
select * from 表名 where math in (89,90,91);

查询所有姓班的学生成绩
select * from 表名 where name like ‘班%’;
查询数学分>80,语文>80的同学
select * from 表名 where math>80 or chinese>80;

排序 使用order by 升序asc 降序desc
位于select 语句的末尾
对数学成绩排序后输出
select name,math from 表名 order by math desc;
对总分排序按从高到低的顺序输出
select name,math+english+chinese from 表名 order by (math+english+chinese) desc;
对学生成绩按照英语进行降序排序 ,英语相同学员按照数学降序
select * from 表名 order by english ,math desc
对姓美的学生成绩排序输出
select * from 表名 where name like ‘美%’order by english desc;

聚集函数 count 获取数量 sum 求和 avg 平均数 max 最大 min 最小
count
统计一个班共有多少个学生?
select count(*) from 表名;
统计数学成绩大于90的学生有几个?
select count(*) from 表名 where math>90;
统计总分大于200分的人数有多少
select count(*) from 表名 where (math+english+chinese)>200;
sum
统计一个班数学总成绩
select sum(math) from 表名;
统计一个班语文.数学.英语各科的总成绩
select sum(math),sum(english) ,sum(chinese) form 表名
统计一个班语文 数学 英语的成绩综合
select sum(math+english+chinese) from 表名;
使用ifnull 处理null情况
统计一个班的语文成绩平均分
select sum(chinese)/count(*) from 表名
select avg(chinese) from 表名

group by 分组
这里写图片描述

条件过滤需要是having,不能使用where
查询购买了几类商品,并且每类总价大于100的商品
select product,sum(price) from order by product having sum(price)>100;
select小结
select ..from where group by… having…order by…;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值