sql-基础篇

1 执行顺序优先级

(8)SELECT (9)DISTINCT  (11)<Top Num> <select list>
(1)FROM [left_table]
(3)<join_type> JOIN <right_table>
(2)ON <join_condition>
(4)WHERE <where_condition>
(5)GROUP BY <group_by_list>
(6)WITH <CUBE | RollUP>
(7)HAVING <having_condition>
(10)ORDER BY <order_by_list>

2 运算符

  1. 算数运算符:+,- ,*,/ ,%
  2. 比较运算符: = ,!= ,<>,> ,< ,>=,<=,!<,!>
  3. 逻辑运算符:AND, OR,NULL,BETWEEN,IN,LIKE,NOT
  4. 通配符(通常与LIKE运算符一起使用):
      %表示一个或多个字符
      _ 表示单个字符
       [ charlist ] 表示要匹配的字符的集合和范围 
       [ ^charlist ] 或 [!charlist ] 表示不匹配字符的集合和范围 
    【注意】MS Access多个和单个匹配分别使用星号(*)和问号(?)

3 基础用法

3.1 条件查询

  1. 基本过滤:where
  2. 模糊查询l:ike
  3. 多条件查询:and/or
  4. 多条件匹配:case when
  5. 范围查询:in/between
  6. 空值(null)判断:is null
  7. 空串("")判断:=""
  8. 返回部分数据:limit

3.2 关联查询

左/右关联:left/right join…on
内关联:[inner] join…on
全关联:full join…on
在这里插入图片描述

3.3 联合查询

基本用法:select..from.. union select..from..

3.4 子查询

基本用法:select * from 表名 where 筛选条件字段 逻辑运算符 
                   (select * from 表名 where 筛选条件)

【注意】两表查询的字段的个数和意义要保持一致。

3.5 分组与排序

  1. 分组查询group by
  2. 分组条件查询group by… having
  3. 分组查询后再对所有数据聚合group by…with rollup
  4. 结果排序order by [asc/desc]
【例】查询出查询出每个学生的总分的同时,再查出所有学生一共的得分:
select sum(score),student_id from score GROUP BY student_id with rollup;

3.6 常用函数

  1. 去重:distinct
  2. 绝对值:abs()
  3. 最大max()、最小min()、计数count()、平均avg()、求和sum()
  4. 获取时间戳秒数unix_timestamp()、获取时间from_unixtime(“秒的参数”)、获取当前时间current_date()、时间相减datediff(a,b)
  5. 开窗函数:rank()/row_number() over(partition by 分组字段 order by 排序字段)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值