常用的sql语言(select篇)

本篇以select为基础,介绍使用以及where/group by/having/limit/order by等

查询整个表

select * from 表名;//获取表中的所有数据,*可以替换为需要查询的几个字段

select * from 表名 limit n,m;//搜索第n行到第m行

查询部分字段

select 字段名1,字段名2 from 表名;//显示结果为字段1和字段2

改变显示的字段名

select 字段名 as 显示的字段名 from 表名; //字段名就是列名,显示的字段名为查询结果的显示的列名

按条件查询

方法一
select 字段名 as 显示的字段名 from 表名 where 查询字段=; //查询出查询字段等于某个值数据

and 多值筛选
or 或的筛选

方法二
select * from 表名 having 筛选条件(可以为字段>);//虽然where也可以使用,但是在后期的分组中where交容易出现错误,并且where不建议使用这种方式

方法三
select * from 表名 where 字段名 NOT between1 and2;//筛选出对应字段不在值1和值2之间的数据,在值之间将not去掉

方法三
select * from 表名 where 字段名 not in (1,2,3,······,值n);//筛选出字段的值不等于括号内任意一个的时候 ,等于任意一个个的时候将not去掉

特殊的null

select * from 表名 where 字段名 is null;//查找对应字段名的内容为null的
//注意:null是值不确定或者没有值,所以这里不能用等于代替
is not 即可筛选不为空

模糊查询

%相当于常用查询的*  代表0到多个字符
_相当于常用查询的? 代表一个字符
select * from 表名 where 字段名 like 'a%';//筛选出字段名第一位为a,其他的任意的数据

select * from 表名 where 字段名 like '_a%';//筛选出字段名第二位为a,其他的任意的数据

select * from 表名 where 字段名  not like '_a%';//筛选出字段名第二位不为a,其他的任意的数据

查询排序

select * from 表名 order by 字段名 asc或者desc;//将查询到的数据针对输入的字段进行排序,asc代表升序排序,dsec代表降序排序

分组查询

//分组查询group by 需要与聚合函数(count avge sum)连用,如果不连用,显示的将为查到的组中的第一条数值
select count(字段名或者任意值) from 表名 group by 字段名;
//count中的内容是同于显示的时候方便查看属于哪一个值得和,group by加的字段名为针对这一字段进行分组的

分组筛选

使用一
select count(字段名或者任意内容) from 表名 group by 字段名 having count(筛选条件);//先尽心分组,然后计算满足筛选添加的个数
例如:having avge(工资>10000)//套用进去计算的分组后各组的工资大于10000的平均值

使用二
select count(字段名或者任意内容) from 表名 group by 字段名 having count(字段名)>;//对分组进行筛选出个数大于该值的组,这种情况筛选出来的是符合条件的组

去掉删选出来的重复字段

select distinct 字段名 from 表名;//这个字段重复的只显示一次

计算年龄的语句

year(now())-year(代表出生日期的字段)

select 字段,year(now())-year(代表出生日期的字段) from 表名;//计算出表中对应的每个人的年龄
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值