sql学习随笔(查询)

一般格式:

        select [all/distinct] (目标表达式) [as 别名]

        from (目标表)[as 别名]

        [where (条件表达式)]

        [group by (列名) [having (条件)]]        

        [order by (列名) [asc/desc]]

解释与理解:

1、每个单词可以全用大写或者全用小写,但不可以混着写

2、all与distinct的区别:默认是all,会显示全部,distinct会将查询出来后的去重后显示

3、目标表达式可以是一个也可以是多个,各个列出现的顺序可以和表中不一样,可以用*来代表所有,每个列都可以起别名,但不能重复

4、查找的目标表可以是一个也可以是多个,若查找多个表中有相同名称的字段,需要在目标表达式中表明查找的是哪个表

5、查找的目标表可以是原来有的,也可以是一个selec语句(嵌套),每个目标表都可以起别名,但不能重复

6、group by 按列的值进行分组,值相等的为一组,若带着having短语,需满足一定条件才能输出

7、order by 按列的值进行排序,默认是asc升序,desc是倒序,对于空值,排序时显示的次序由具体系统实现来决定。

常用的查询条件:

1、比较

        =等于,<小于,>大于,>=大于等于,<-小于等于

        !=或<>不等于,!>不大于,!<不小于

2、范围

        between and和not between and

        between 后面是范围的下限 and 后面加的是范围的上限

3、集合

        in 和 not in

        判断查找结果是否在集合内

4、判空

        is null 和is not null

5、字符匹配

        like 和 not like

        一般语法是 [not] like <匹配符> [escape <换码字符>]

        如果没有匹配符,则相当于=

        匹配符有%和_。

        %表示任意长度(可以为0)的字符串。例如ab,aab,aaaaaaab都符合a%b

        _表示任意单个字符,上述的ab,aab,aaaaaaab只有aab符合a_b,其他都不匹配

        如果本身查询的字符串里带有%或_,这时候需要escape换码字符,紧跟在换码字符后的字符不再有通配符的含义,转义成最初的字符

6、一些逻辑语句

        and,not ,or

聚集函数:

1、count(*)                                                        统计元组个数(总数)

2、count( [distinct/all]  <列名>)                        统计某个值出现了几次

3、sum( [distinct/all]  <列名>)                        计算这一列值的总和(此列必须是数值型)

4、avg( [distinct/all]  <列名>)                       计算这一列值的平均值(此列必须是数值型)

5、max( [distinct/all]  <列名>)                       求这一列值的最大值

6、min( [distinct/all]  <列名>)                       求这一列值的最小值

聚集函数的一些注意:

1、如果指定distinct,表示计算时要去重,默认是all

2、的那个遇到空值时,除了count(*) 都跳过空值只处理非空值

3、聚集函数只能用于selec语句和having语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值