SqlServer中的查询简单总结
Posted wyy1234
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer中的查询简单总结相关的知识,希望对你有一定的参考价值。
一、sql语句的执行顺序
查询时数据库中使用最多的操作,一条sql语句的查询顺序是
1、from Tb1 [ join on ] 得到查询的数据源
2、where 对数据过滤(单条数据上过滤)
3、group by 对数据分组
4、having 筛选分组(在组别上进行过滤)
5、select distinct 获取结果集
6、order by 对结果集排序
二、常用的查询知识
直接上代码
--1、空值查询 --例子: 查询age(或者不为)为null的用户 select * from Tb_UserInfo where Age is null select * from Tb_UserInfo where Age is not null --2、条件查询 --注:where用于单条记录筛选 --例子: 查询年龄为21~23的用户 select * from Tb_UserInfo where Age>=21 and Age<=23 select * from Tb_UserInfo where Age in(21,22,23) select * from Tb_UserInfo where Age between 21 and 23 --3、聚合函数和分组 --注:这两个应一起使用,单独使用时没有太大意义,没有显式地用group by分组时,所有数据为一组 --常用的聚合函数 count avg min max sum ;having 对分组进行筛选 --例子: 查询使用角色的人数,且筛选角色的人数大于3的组 select roleid as 角色编号, COUNT(*) as 人数 from Tb_UserInfo group by roleid having COUNT(*)>3 --查询每种角色的人数和每种角色用户的平均年龄 select roleid as 角色编号, COUNT(*) as 人数 , AVG(age) as 平均年龄 from Tb_UserInfo group by roleid --4、模糊查询 --注: -表示单个字符; %表示任意个字符; [abc]表示是a/b/c; ^a表示不是a的字符 --例子: 查询用户名包含a的用户 select * from Tb_UserInfo where username like ‘%a%‘ select * from Tb_UserInfo where UserName like ‘_a%‘--username的第二个字符为a的用户 --5、distinct、top和 order by --注:top和order by是一起使用的,先有排序才能有‘前几条’记录 --例子: 查询不重复的用户中的前3条记录,按用户id排序 select distinct top 3 * from Tb_UserInfo order by uid
以上是关于SqlServer中的查询简单总结的主要内容,如果未能解决你的问题,请参考以下文章