常用SQL语句详解02

常用SQL语句详解02

1、DQL 数据查询语句:查询数据记录
1、查询语法;

select
	字段列表
from
	表名列表
where
	条件列表
group by
	分组字段
having
	分组之后的条件
order by
	排序
limit
	分页限定

2、基本查询;
情况1:查询所有;

select * from 表名称;

情况2:查询部分;

select id,name from user;
select 列名称1,列名称2 from 表名称;

情况3:计算查询;

select  数学成绩,语文成绩,ifnull(数学成绩,0)+ifnull(语文成绩,0) as 总成绩 from 表名称;

3、运算符;

><<=>==<>
 BETWEEN...AND(在什么和什么之间,有[]的意思)
 IN( 集合) 
 LIKE:模糊查询
 占位符:
     _:单个任意字符
     %:多个任意字符
 IS NULL(判断是否为空)
 and  或 &&(与)
 or  或 || (或)
 not  或 !(非)

4、条件查询;
情况1:使用> 、< 、<= 、>= 、= 、<>(不等于)比较符;

select * from 表名称 where 列名称(int[><<=>==<>] ?;

情况2:使用模糊查询;

-- 前后有任意一个字符
select * from 表名称 where 列名称(varchar) like "_?_";
-- 前面有0-n个任意字符,后面有一个任意字符
select * from 表名称 where 列名称(varchar) like "%?_";
-- 前面有一个任意字符,后面有0-n个任意字符
select * from 表名称 where 列名称(varchar) like "_?%";
-- 前后有0-n个任意字符
select * from 表名称 where 列名称(varchar) like "%?%";

情况3:使用between…and;

select * from 表名称 where  列名称 between ? and ?;
select * from user where  id between 1 and 6;

情况4:使用集合in();

select * from 表名称 where 列名称 in (集合);
select * from user where id in (1,2);

情况5:使用and 或 &&(与)、 or 或 || (或)、not 或 !(非);

select * from 表名称 where 列名称1=? and 列名称2=?;
select * from 表名称 where 列名称1=? or 列名称2=?;
select * from 表名称 where not 列名称1=?;

情况5:使用 is null;

select * from 表名称 where  列名称 is null;

5、查询分组;
情况1:无条件分组;

select 需要显示的列名称,使用的聚合函数 from 表名称 group by 按照那一列分组(列名称);

情况2:有条件分组;

select 列名称,聚合函数 from 表名称 where 条件 group by (列名称)having 分组后条件;

6、分页查询;

limit offset,size
-- offset 起始行数int(0-N),从 0  开始计数,不写,默认就是 0
-- size 每页展示的记录数 int(0-N)
select * from 列名称 limit offset,size;

7、排序查询;
情况1:连用;

1.排序方式有2种:升序 asc  降序 desc ,默认升序
2.如 字段1 和 字段2 排序有冲突,字段1 优先满足。
3.如字段1数据相同,再按照字段2的排序方式排序。
select * from 表名称 order by 列名称1 asc,列名称2 desc,列名称3 asc;

情况2:分开使用;

select * from 表名称 order by 列名称 asc;
select * from 表名称 order by 列名称 desc;

8、聚合函数;

count 统计个数
select count(列名称) from 表名称;
 max 求最大值
select max(列名称) from 表名称; 
 min 求最小值
select min(列名称) from 表名称; 
 sum 求和
 select sum(列名称1+列名称2) from 表名称;
 avg 求平均值
 select avg(列名称) from 表名称;

9、补充;
一般group by与聚合函数连用,group by单独使用没有太大意义,如果有多条数据它只显示分组后的每组的第一条数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值