前提:该内容为公司学习提供的ppt内容,仅用于个人学习日后方便查找。


一、单表查询:


1、全表查询:select * from 表名;


 


        2、查询指定列:select 字段 1[, 字段2,…] from 表 名 ;


 


别名的设置 :select 字段名[ as] 列别名 from 原表名 [as ] 表别名;


 


查询不重复的记录 :select distinct 字段名 from 表名;


 


条件查询:select 字段 1[, 字段2,…] from 表名 where 查询条件;


 


空值查询:select 字段 1[, 字段2,…] from 表名 where 空值字段 is[ not] null;


 


模糊查询: select 字段 1[, 字段2,…] from 表名 where 字符串字段[ not] like 通配符; 


百分号(%)通配符:匹配 0 个或 多 个字符


        下划线(_)通配符:匹配一个字符

         模糊查询只能用于字符类型字段


查询结果排序 :


select 字段 1[, 字 段 2,…] from 表 名 order by 字 段 1[ 排序方向 , 字段2 排序方向,…];


多字段排序时,先按第一个字段排序,第一个字段值相同时再按第二个字段排序 指定排序方向:asc升序,desc降序(没有指定排序方向时,默认是asc升序)


限制查询结果数量 :


select 字段 1[, 字段 2,…] from 表 名 limit [ 偏移 量,] 行数;


limit接受一个或两个数字参数,参数必须是一个整数常量

第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目 如果只给定一个参数,表示返回最大的记录行数目

初始记录行的偏移量是0(而不是1)


分组查询 :


select 字段 1[, 字段2,…] from 表名[ where 查询条件] group by 分组字段 1[, 分组字 段 2,…];


 


将查询结果按照一个或多个字段进行分组,段值同的一组对每组进聚合

分组后筛选:select 字段1[,字段2,…] from 表名[ where 查询条件][ group by 分组字段1[,分组字段2,…]] having 筛选条件;

11、where与having的区别:

where子句作用于表,having子句作用于组。

where条件查询的作用域是针对数据表进行筛选,而having条件查询则是对分组结果进行过滤。

where在分组和聚合计算之前筛选行,而having 在分组和聚合之后筛选分组的行,因此where子句不能包含聚合函数。

12、select书写顺序:

mysql text字段查询时_字段

13、select语句执行顺序:

         from--->where--->group by--->having--->select--->order  by--->limit

14、运算符:

mysql text字段查询时_字段_02

 

15、函数:

mysql text字段查询时_mysql_03

二、多表查询:

通过不同表中具有相同意义的关键字段,将多个表进行连接,查询不同表中的字段信息

连接方式

内连接和外连接(左连接和右连接)

多表连接的结果通过三个属性决定


方向性:在外连接中写 在 前边 的 表为 左 表、 写 在后 边 的表 为 右表


主附关系:主表要出所 有 的数 据 范围 , 附表 与 主表 无 匹配 项 时标 记 为 null, 内 连 接时 无 主附 表 之分


对应关系:关键字段中 有 重复 值 的表 为 多表 , 没有 重 复值 的 表为 一 表