• MySQL 查询


    排序

      desc:升序   asc:降序

    select * from <表的名字 >

    聚合查询

       查询结果的总数

    select count(*) from <表名>;

      查询结果的最大值

    select max(<字段>) from <表名> where <条件>;

      查询结果的最小值

    select min() from <表名> where <条件>;

      查询结果的和

    select sum(<字段>) from <表名> where <条件>;

      查询结果的平均值

    select avg(<字段>) from <表名> where <条件>;

     分组

     group by: 查询结果分组

    select <字段1> from <表名> group by <字段>;

     group by +group_concat:查询结果分组,并根据分组显示group_concat中字段的值,以逗号分割

    select <字段1>,group_concat(<字段2>) from <表名> group by <字段>;

     group by +聚合查询

      group by +count:查询每个分组的数量

    select <字段1>,count(*) from <表名> group by <字段>;

      group by + max:查询每个分组中最大的值

    select <字段1>,max(<字段2>) from <表名> group by <字段>;

      group by + min:查询每个分组中最小的值

    select <字段1>,min(<字段2>) from <表名> group by <字段>;

      group by + sum:查询每个分组中的和

    select <字段1>,sum(<字段2>) from <表名> group by <字段>;

      group by + avg:查询每个分组中的平均值

    select <字段1>,avg(<字段2>) from <表名> group by <字段>;

      group by + having:对分组之后的结果集进行条件判断,having 只能用于group by

    select <字段1> from <表名> group by <字段> having count<条件>;

      group by + with rollup:在结果的最后增加一行,记录列的总和

    select <字段1>,<字段2>.... from <表名> group by <字段> with rollup;

     

     分页查询

      start:开始查询的位置,从0开始

      count: 每页显示的数据数量

    select * from <表名> limit start,count

        分页公式

        m:煤业显示的个数

        n:页数

    select * from students where is_delete=0 limit (n-1)*m,m;

     连接查询

      内连接查询:查询表1,表2都能匹配到的数据

    select * from <表1的名字> inner join <表2的名字> on <表1的名字>.<表1的字段> = <表2的名字>.<表2的字段>;

      右连接查询:查询只有表2才能匹配到的数据

    select * from <表1的名字> right join <表2的名字> on <表1的名字>.<表1的字段> = <表2的名字>.<表2的字段>; 

      左连接查询:查询只有表1才能匹配到的数据

    select * from <表1的名字> left join <表2的名字> on <表1的名字>.<表1的字段> = <表2的名字>.<表2的字段>;

     

    自关联 ==> (可以用来做地区的三级联动

    select <别名1>.* from <表1的名字> as <别名1>
    inner join <表1的名字> as <别名2> on <别名1>.<字段1>=<别名2>.<字段1>
    where <别名2>.<字段2>=<值>;

    子查询

      标量子查询:子查询只返回一个结果

    select * from <表的名字> where <字段1> <比较运算符> <(select avg(字段) from <表的名字>)>;

      列级子查询:返回的结果是一列(一列多行)

    select * from <表的名字> where <字段1> <范围查询> <(select 字段 from <表的名字>)>;

      行级子查询:返回的结果是一行(一行多列)

    select * from <表的名字> where <(字段1,字段2)> = <(select max(字段1),max(字段2) from <表的名字>)>;
  • 相关阅读:
    《数据结构》第1章:绪论
    《计算机网络》第1章:计算机网络体系结构
    笔记迁移至:语雀
    最大似然估计和最大后验概率
    深度学习之最大似然估计
    k折交叉验证(matlab和python程序实现)
    matlab下打乱数组顺序
    线性回归
    梯度算法的Matlab实现
    梯度下降法
  • 原文地址:https://www.cnblogs.com/wy919/p/12686353.html
Copyright © 2020-2023  润新知