MySql 筛选条件、聚合分组、连接查询 – 纪宇[通俗易懂]

MySql 筛选条件、聚合分组、连接查询 – 纪宇[通俗易懂]筛选条件 比较运算符 等于: = ( 注意!不是 == ) 不等于: != 或 大于: 大于等于: = 小于: 聚合分组 常用聚合函数 统计个数:COUNT(column) 最大值:MAX(colum

筛选条件

比较运算符

  • 等于: = ( 注意!不是 == )
  • 不等于: != 或 <>
  • 大于: >
  • 大于等于: >=
  • 小于: <
  • 小于等于: <=
  • IS NULL
  • IS NOT NULL

逻辑运算符

  • 与:and
  • 或:or
  • 非:not

其它操作

  • 排序:order by
    • 正序:asc
    • 倒序:desc
    • 例:select * from students order by age desc ;
  • 限制:limit
    • 控制显示m条数据:limit m
    • 从下标为m的行数开始显示n条数据:limit m,n
    • 例:select * from students limit 3,2 ;
  • 去重:distinct
    • 例:select distinct * from students;
  • 模糊查询:like
    • 任意一个字符:_
    • 任意多个字符:%
    • 例:select * from students where name like “%abc_” ;
  • 范围查询
    • 连续范围: BETWEEN a AND b 相当于a <= value <= b
    • 间隔返回: IN
    • 例:select * from students where id in(1,3,5,7);
  • 别名:as

聚合分组

常用聚合函数

  • 统计个数:COUNT(column)
  • 最大值:MAX(column)
  • 最小值:MIN(column)
  • 求和:SUM(column)
  • 平均值:AVG(column)
  • 列出字段全部值:GROUP_CONCAT(column)

分组查询:group by

  • 在分组的情况下,只能够出现分组字段和聚合字段
  • 其他的字段没有意义,会报错!
  • Select 字段 from 表 group by 字段;
  • Select 字段,count(*) from 表 group by 字段;

聚合筛选:having

  • 加having条件表达式,可以对输出的结果做出限制
  • Select 字段1 from 表名 group by 字段1,字段2 having 字段2>=80;

执行顺序

  • 如果一个查询语句中同时包含了别名(as),聚合函数, where, having,那么他们的执行顺序是
    • 先是执行:where
    • 然后执行:聚合函数和别名
    • 最后执行:having

子查询

将一个查询的结果留下来用于下一次查询 ( select 中嵌套 select )

要求:

  • 1) 嵌套在查询内部
  • 2) 必须始终出现在圆括号内

例:

  • 求出学生的平均年龄
    • select avg(age) from students;
  • 查找出大于平均年龄的数据
    • select * from student where age > 19;
  • 将求出的平均年龄的SQL语句用于查找大于平均年龄的语句中
    • select * from students where age > (select avg(age) from students);

连接查询

内连接:inner join

  • 无条件内连接:
    • 无条件内连接,又名交叉连接/笛卡尔连接
    • 第一张表中的每一项会和另一张表的每一项依次组合
    • select * from 表1 inner join 表2
  • 有条件内连接:
    • 在无条件内链接的基础上,加上一个on子句
    • 当连接的时候,筛选出那些有实际意义的记录来进行组合
    • select * from 表1 as a inner join 表2 as b on a.id = b.id

外连接:{left | right} join

  • 左外连接: (以左表为基准)
    • 两张表做连接的时候,在连接条件不匹配的时候
    • 留下左表中的数据,而右表中的数据以NULL填充
    • select * from 表1 as a left join 表2 as b on a.id = b.id
  • 右外连接: (以右表为基准)
    • 对两张表做连接的时候,在连接条件不匹配的时候
    • 留下右表中的数据,而左表中的数据以NULL填充
    • select * from 表1 as a right join 表2 as b on a.id = b.id

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10937.html

(0)
上一篇 2022-12-19
下一篇 2022-12-19

相关推荐

  • Python中eval函数的作用

    Python中eval函数的作用Python中的eval函数是一个很常用的内置函数,其主要作用是将字符串str当做一个表达式来运行,并返回表达式所代表的值。eval函数的语法如下:

    2024-05-26
    70
  • 【赵强老师】什么是PL/SQL?[通俗易懂]

    【赵强老师】什么是PL/SQL?[通俗易懂]一、什么是PL/SQL? PL/SQL(Procedure Language/SQL)是oracle在标准的sql语言上的扩展。ql/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许私用条件…

    2023-03-01
    159
  • Python Listbox with Tkinter: 完全指南

    Python Listbox with Tkinter: 完全指南Tkinter是Python中常用的图形用户界面(GUI)工具包之一。Tkinter具有一系列的小部件,可以轻松创建各种类型的GUI应用程序,其中之一是Listbox。Listbox是一个小部件,用于在窗口中显示一系列的项目,并允许用户通过单击列表中的项目进行选择。

    2024-01-14
    107
  • linux下Mysql 8.0.19 编译安装

    linux下Mysql 8.0.19 编译安装1 前言 linux下安装MySQL的方式有很多种,包括以仓库的方式安装(yum,apt,zypper),以包的方式安装(rpm,deb),以docker方式安装,从压缩包解压安装,从源码编译安装,…

    2023-02-03
    145
  • Python控制语句中elif的用法

    Python控制语句中elif的用法在Python中,elif是控制语句之一,用于在多个if语句之间添加一个新的判断条件,来实现更加灵活的代码逻辑。

    2024-04-03
    72
  • Python Strip函数的高效使用技巧

    Python Strip函数的高效使用技巧Python Strip函数是一种用于去除字符串首尾指定字符的函数,然而,Strip函数并不是窄门而又深入的工具,使用Strip函数需要正确的理解和掌握。本文从多个方面探讨如何高效使用Python Strip函数。

    2024-03-25
    78
  • MySQL安装配置教程(超级详细)「建议收藏」

    MySQL安装配置教程(超级详细)「建议收藏」一、 下载MySQL Mysql官网下载地址:https://downloads.mysql.com/archives/installer/ 1. 选择要安装的版本,本篇文章选择的是5.7.31版本,

    2023-05-11
    153
  • Python绘制五角星

    Python绘制五角星五角星,又称五边星,是一种具有五个凸出的尖角,互相之间呈角度为36°的几何图形。五角星最早见于公元前2000多年前中国商代和西周早期的甲骨文中。现代五角星成为美国国旗、联邦标志的代表图案之一。

    2024-09-06
    26

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注