小白之旅19-2

Posted demonycw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白之旅19-2相关的知识,希望对你有一定的参考价值。

查询

一. 查询语句的标准结构

select

? 字段列表

from

? 表名

where

? 条件

group by

? 分组字段

having

? 分组后的条件

order by

? 排序方式

limit

? 分页方式

二. 基本查询

1、查询所有数据

select * from 表名;

2、查询所有记录的指定字段

select 字段1,字段2,... from 表名;

3、去重查询

select distinct 去重字段 from 表名;

4、起别名

as,as可以省略

5、计算字段值

查询的字段结果可是使用四则运算

null值不参与字段的计算

三. 条件查询

条件查询的格式:

select 字段列表 from 表名 where 条件;

3.1 运算符

  • 比较运算符:>、 <、 >=、 <=、 !=、 =、 <>
  • 在指定列表:in,例如:select * from emp where eage in (23,33,43); 查找表中eage字段值包含在列表中的记录
  • 在指定范围内:between ... and ...,例如:select * from emp where eage between 23 and 33;查找表中eage字段值在 [23,33] 之间的记录
  • 模糊查询:like,例如:
    • select * from emp where ename like "张__"; 查找表中所有姓张名字是三个字的记录
    • select * from emp where ename like "李_"; 查找表中所有姓李名字是两个字的记录
    • select * from emp where ename like "%狗%"; 查找表中所有名字里带狗的记录
    • 注:"_",表示任意字符出现1次;"%",表示任意字符出现任意次
  • 逻辑运算符: and、&& 、or、||、not、!
  • 判断是否(不)为空:is not null、is null

3.2 排序

格式:

order by 字段1 排序方式1,字段2 排序方式2,... ;

排序方式:

? 升序:asc(默认)

? 降序:desc

注:多个条件排序时,只有前一个字段值相同时,才会判断后面的条件

3.3 聚合函数

概念:将一列数据作为一个整体,进行纵向的计算

  • sum:求和
  • avg():求平均值
  • max():求最大值
  • min():求最小值
  • count():求个数

注:

1、null值不参与聚合函数

2、count()中一般使用非空字段,例如:主键 或者 *

3.4 分组查询

格式:

group by 分组字段;

注:分组一般都和聚合函数一起使用

where 和 having的区别是什么?

1、where在分组之前筛选,如果不满足,则不分组;having在分组后筛选,如果不满足,则查不到。

2、where之后不可以跟聚合函数,having可以进行聚合函数的判断。

3.5 分页查询

格式:

limit 开始索引,每页查询的记录数

公式:开始索引 = ( 当前页码 - 1) * 每页显示的记录数

limit关键字是mysql的方言

以上是关于小白之旅19-2的主要内容,如果未能解决你的问题,请参考以下文章

小白的CFD之旅 17 需要编程?

小白的CFD之旅15 四种境界

小白的CFD之旅07 CFD常识

小白的CFD之旅05 补充基础

小白的CFD之旅11 敲门实例续

小白的CFD之旅20 计算区域的构建