hincky的主页 hincky的主页
  • 学习笔记

    • Vue笔记
    • Vuepress
    • nginx
  • 语言类

    • java
    • go
    • python
    • 设计模式
  • 框架类

    • Spring
    • Spring Security
    • Mybatis
  • 容器技术

    • docker
    • k8s
    • helm
    • prometheus
    • grafana
    • jenkins
  • 命令集合

    • linux命令
    • docker命令
    • git命令
    • vim命令
    • k8s命令
  • 数据库

    • sql
    • mysql
  • 协议

    • 网络模型
    • http/1.1
    • WebSocket
    • http/2
    • TLS/SSL
    • tcp
    • IP
    • tcpdump抓包命令
    • wireshark抓包工具
  • 通用

    • Git
  • 技术分享

    • git push/pull总是超时怎么办
    • idea debug技巧
    • postman使用
    • 问题总结
    • idea使用技巧
  • Oauth2

    • Oauth2原理
  • 项目列表

    • redis项目
    • 微服务项目
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)

Hincky

当有趣的人,做想做的事
  • 学习笔记

    • Vue笔记
    • Vuepress
    • nginx
  • 语言类

    • java
    • go
    • python
    • 设计模式
  • 框架类

    • Spring
    • Spring Security
    • Mybatis
  • 容器技术

    • docker
    • k8s
    • helm
    • prometheus
    • grafana
    • jenkins
  • 命令集合

    • linux命令
    • docker命令
    • git命令
    • vim命令
    • k8s命令
  • 数据库

    • sql
    • mysql
  • 协议

    • 网络模型
    • http/1.1
    • WebSocket
    • http/2
    • TLS/SSL
    • tcp
    • IP
    • tcpdump抓包命令
    • wireshark抓包工具
  • 通用

    • Git
  • 技术分享

    • git push/pull总是超时怎么办
    • idea debug技巧
    • postman使用
    • 问题总结
    • idea使用技巧
  • Oauth2

    • Oauth2原理
  • 项目列表

    • redis项目
    • 微服务项目
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)
  • 数据库

    • sql

      • SQL快查
        • 语句顺序
        • 执行顺序
        • like用法
        • 最值
        • 特殊
        • 子查询
        • 关键字
      • 数据语言
        • DDL 数据定义语言
          • 对库定义
          • 对表定义
        • DML
        • DCL
        • DQL
      • select查询
        • select语句sql关键字顺序
        • sql语句实际执行顺序
        • 提升查询效率的方法
      • where条件查询
        • 比较运算符
        • 逻辑运算符
        • like + 通配符 (小心索引失效)
        • 分组
      • 函数
        • 聚合函数
        • 算术函数
        • 字符串函数
        • 日期函数
        • 转换函数
      • 分组查询
      • 子查询
        • 关联子查询
        • 非关联子查询
        • 集合比较子查询
          • IN 和 EXISTS 如何选择
          • NOT IN 和 NOT EXISTS 如何选择
        • 子查询作为计算字段
      • 多表查询
        • 交叉连接
        • 等值与自然连接
        • 非等值连接
        • 左连接
        • 右连接
        • 自连接
      • 牛客网题目整合
    • MySQL开发规范

    • mysql

    • MySQL调优

    • kafka

  • 网络协议以及抓包工具

  • Git笔记

  • 技术分享

  • Oauth2

  • 计算机相关技术
  • 数据库
  • sql
hincky
2022-10-29
目录

SQL快查

# sql快查

# 语句顺序

SELECT DISTINCT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ...LIMIT...
1

where后面不能加聚合函数!!

having必须和group by联合使用

order by 放在最后,且多利用索引进行排序

limit 确定查询行数可以提高查询效率

# 执行顺序

注意是执行,执行顺序!!!不是sql的语句编写顺序

sql语句实际执行顺序

FROM > WHERE > GROUP BY > HAVING > SELECT的字段 > DISTINCT > ORDER BY > LIMIT
1

# like用法

不能以%开头,否则索引失效,导致全表扫描

如果使用like '东%',同时对字段进行索引,才不会进行全表扫描

通配符 作用 例句
_ 匹配一个字符
% 匹配多个字符
[] 匹配括号内任意一个字符 [陈杨] 含有陈杨姓氏
^ 不匹配括号内字符 ^[陈杨] 不含有陈杨姓氏

# 最值

max() min()

# 特殊

聚合函数作为筛选条件 不能用where,用having

# 子查询

  • 关联子查询
  • 非关联子查询

# 关键字

如何通过问题的关键字去确定sql语句

关键字 具体例子 对应sql
有多少/xx数 用户数 count()
平均 - avg()
保留一位小数 - round(表达式,1)
每个/各个/不同xx 不同大学 group by
升序/降序 - asc/desc
每个/各个/不同xxx中大于/小于xxx的平均yyy 查询每个球队大于球队平均身高/ 每个商品种类中高于商品种类平均价格的 关联子查询
两组两个条件的逻辑运算 gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学 -
编辑 (opens new window)
#SQL
数据语言

数据语言→

最近更新
01
人生前期重要的能力
05-17
02
防火墙命令
04-11
03
docker-compose部署mysql主从集群
03-22
更多文章>
Theme by Vdoing | Copyright © 2022-2023 Hincky | MIT License | 粤ICP备2022120427号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式