码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer中的查询简单总结

时间:2018-05-16 18:39:41      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:avg   sum   聚合函数   年龄   包含   sele   round   abc   min   

一、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中的查询简单总结

标签:avg   sum   聚合函数   年龄   包含   sele   round   abc   min   

原文地址:https://www.cnblogs.com/wyy1234/p/9047125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!