• 查询五子句


    高级查询

    select all|distinct*或字段名 【as】 字段别名 from 表名 【as】 表别名 【where 子句】【group by子句】【having子句】【order by子句】【limit 子句】

    all|distinct

    select选项

    all 所有记录包含重复,

    distinct 不包含重复

    此处重复:指的是查询出来的数据,记录所有的字段都相同才是重复。

    字段别名

    表别名

    主要用于在多表进行查询时,多个表中可能有同名的字段,通过表别名进行指定。

    where 子句】

    原理:

    根据条件将位于硬盘中的数据读取到内存中,进行显示或进行其后子句的操作

    如果没有where子句,表示位于硬盘所有的数据都符合条件。

    where子句的运算符

    between m and n mn之间的值,包含mn

    in 在某个集合内

    not in in进行取反

    is null 专用于判断null

    is not null is null进行取反

    <=> 专用于判断null

    like 进行模糊查询

    占位符

    % 当前位置的0个或多个字符

    _ 当前位置的1个字符

    group by子句】

    进行分组,主要用是分组后应用统计函数。

    select 字段名 from 表名 group by 字段名,字段名...

    统计函数

    max() 统计最小分组中的最大值

    min() 统计最小分组中的最小值

    avg() 统计最小分组中的平均值

    sum() 统计最小分组中的和

    count(*或字段名) 统计最小分中的记录数

    * 全部记录

    字段名 如果count统计的字段中包含null值,则此条记录不参与统计。

    如果没有指定group by子句,那么相当于所有的记录是一个组。

    with rollup

    回溯

    对最小分组以上的大组再进行一次统计。

    having子句】

    对group by之后的结果再进行一次,筛选。

    having 可以实现where的某些功能。但不建议使用having代替where,存在效率问题。

    order by子句】对最近的一个结果集进行排序。

    最近的结果集:如果只有where表示对where的结果集进行排序,

    如果有where又有group bygroup by的结果集进行排序。

    asc (缺省)升序

    desc 降序

    limit 子句】

    分页原理:

    limit (页码-1)*每页的记录数,每页的记录数

    联合查询:

    应用场合:

    分表存储,联合查询。

    对同一个表的不同部分进行不同的操作。

    语法:

    select 语句

    union

    select 语句

    联合查询的order by条件:

    1、每个select语句必须使用括号括起来

    2、每个select语句必须包含limit 子句。

  • 相关阅读:
    Cisco网络模拟器踩坑记录
    PAT甲级1009水题飘过
    PAT甲级1011水题飘过
    springmvc中项目启动直接调用方法
    Eclipse中Java文件图标由实心J变成空心J的问题
    mysql求时间差
    maven常用命令
    java单例模式(两种常用模式)
    mybatis一对多,多对一
    mybatis简介
  • 原文地址:https://www.cnblogs.com/zzmgg/p/6105407.html
Copyright © 2020-2023  润新知