美文网首页
第7章 单表数据查询

第7章 单表数据查询

作者: 上书房_张强 | 来源:发表于2017-05-22 20:25 被阅读194次

7.1 无条件数据查询

7.1.1 简单数据查询

关键字
SELECT...FROM...
语法:

SELECT
`查询字段1 `,
`查询字段2 `,
`查询字段3 `,
……
`查询字段n `
FROM `表名`;

示例

说明:

  • 对于简单的数据查询,应使用SELECT…FROM这样的命令,但需要注意,这样会查询出表中所有的数据,因为没有查询条件。
  • 在进行数据查询时,必须明确写出需要查询的字段,而不能使用星号*。

7.1.2 过滤重复数据

关键字:
DISTINCT
语法:

SELECT DISTINCT 字段名 FROM 表名;

示例:

说明:
DISTINCT是用来去除某个字段的重复数据,只取得某个字段不重复的数据。

7.2 有条件数据查询

7.2.1 带关系运算符的条件数据查询
关键字:
大于:>
大于等于:>=
小于:<
小于等于:<=
不等于:<>
语法:

SELECT
`查询字段1 `,
`查询字段2 `,
`查询字段3 `,
……
`查询字段n `
FROM `表名`
WHERE `条件字段1` = '条件字段1的值'
AND `条件字段2` > '条件字段2的值',
AND `条件字段3` <> '条件字段3的值',
……
AND `条件字段n` < '条件字段n的值';

示例:

7.2.2 带逻辑运算符的条件数据查询
关键字:
AND
OR
语法:

SELECT
`查询字段1 `,
`查询字段2 `,
`查询字段3 `,
……
`查询字段n `
FROM `表名`
WHERE `条件字段1` = '条件字段1的值' 
OR `条件字段2` = '条件字段2的值',

示例:

7.2.3 带BETWEEN AND关键字的范围查询
关键字:

BETWEEN……AND……

语法:

SELECT
`查询字段1 `,
`查询字段2 `,
`查询字段3 `,
……
`查询字段n `
FROM `表名`
WHERE `条件字段1` = '条件字段1的值' 
AND `条件字段2` BETWEEN '条件字段2的值1' AND '条件字段2的值2'
OR `条件字段3` BETWEEN '条件字段3的值1' AND '条件字段3的值2';

示例:

7.2.4 带IS NULL关键字的空值查询

语法:

WHERE `字段` IS NULL

示例:

说明:
IS NULL是用于筛选表中某个字段的值为NULL的数据。

7.2.5 带IN关键字的集合查询

语法:

WHERE `字段` IN ('内容1','内容2','内容3'……,'内容n')

示例:

说明:
IN关键字用于筛选某个字段满足某些条件的数据。

7.2.6 带LIKE关键字的模糊查询

语法:

WHERE `字段` LIKE '%部分内容%'
WHERE `字段` LIKE '%部分内容'
WHERE `字段` LIKE '部分内容%'

示例:

说明:
LIKE关键字用于筛选某个字段包括某一部分内容的所有数据。

7.3 数据查询结果排序

7.3.1 按升序排序

关键字:

ORDER BY `字段`;
ORDER BY `字段` ASC;

示例:

说明:
MySQL按照升序的方式默认排序。

7.3.2 按倒序排序

关键字:

ORDER BY `字段` DESC

示例:

说明:
如果需要按照降序排序,需要在代码中明确指定。

7.4 限制数据记录查询数量

7.4.1 不指定初始位置

关键字:

LIMIT n
n: 数据条数

示例:
数据库里所有数据:

查询语句:

查询结果:

说明:
limit用于限制查询需要返回的数据条数。

7.4.2 指定初始位置

关键字:

LIMIT [m,] n
m: 下标起始位置
n: 数据条数

示例:
数据库里所有数据:

查询语句:

查询结果:

说明:
LIMIT m, n 指的是从m下表开始,返回n条数据(数据表的下表从0开始)

7.5 统计函数和分组数据查询

7.5.1 MySQL支持的统计函数

  • MAX
    取得某个字段的最大值
  • MIN
    取得某个字段的最小值
  • COUNT
    取得查询记录的总条数
  • AVG
    查询某个字段的平均值
  • SUM
    查询某个字段的合计

7.5.2 分组数据统计——单字段分组查询

关键字:

GROUP BY `字段`

示例:
订单表的数据如下:

SODevice指的是客户使用什么设备下的订单,如果需要统计使用移动端(Mobile)和PC端的各自的订单数量并按照倒序排序时,就相当于按照订单下单设备(SODevice)的类型进行分组后,再计算不同设备的合计。

SQL语句如下:

Paste_Image.png

结果如下:

说明:

  • group by常用和聚合函数一块使用。
  • select指定的字段,要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。

7.5.3 分组数据统计——多字段分组查询

关键字:

GROUP BY `字段1`, `字段2`, ……, `字段n` 

示例:
订单表的数据如下:

需要查询出每个省下的每个市在5月29日到5月30日(含5月30日)的订单总数,并按照订单总数倒序排序。

SQL语句如下:

查询结果如下:

7.5.4 分组数据统计——实现HAVING子句限定分组查询

关键字:

HAVING `字段1` option 'value'

示例:
订单明细表的数据如下:

需要从订单明细表取得2017年5月29日到2017年5月30日(含5月30日)商品销售数量大于2的每个商品的销售数量,并按照销售数量倒序排序。

SQL语句:

说明:
HAVING相当于WHERE,不同的是HAVING过滤的是经过分组统计后的数据。

相关文章

  • 延迟加载

    意义 在进行数据查询时,为了提高数据库查询性能,尽量使用单表查询,因为单表查询比多表关联查询速度要快。 如果查询单...

  • 2021-08-29

    数据模型: 插入数据: 查询数据: 两表,连查询研究: 单表查询研究: 结果; 三表联查 结果: 项目思路:"""...

  • SQL查询单表数据(一)

    本节讲述 基本的 select 查询单表数据语句 1 从单表中查询所有的行和列 查询表中所有的数据 在 SQL 中...

  • Python学习笔记十九(MySQL、SQL、查找、单表查询)

    查找 查找分为单表查询与多表查询 单表查询 查看现有数据表 查看所有数据 查看某些字段 比如我只关心title 字...

  • mysql查询、事物(四)

    知识要点: 单表查询 子查询 联表查询 事务 在进行查询之前,我们要先建好关系表,并往数据表中插入些数据。为查询操...

  • mysql表关系

    mysql数据库 知识要点: 单表查询 子查询 联表查询 事务 在进行查询之前,我们要先建好关系表,并往数据表中插...

  • 单表查询的演变

    单表查询是互联网业务中常用的手段.引入单表查询后,数据库负责简单读取数据,应用需要解决如何将查询落到核心表上! 现...

  • mysql表格查询命令

    全表查询 语法: Select * from 表名称; 描述: 查询指定表中的所有数据 案例: 单条件查询 语法:...

  • 04-DQL数据查询语言

    1.DQL单表数据查询 ---------------------------------------------...

  • Mysql索引优化

    1、单表索引优化 单表索引优化分析 创建表 建表 SQL 表中的测试数据 查询案例 查询category_id为1...

网友评论

      本文标题:第7章 单表数据查询

      本文链接:https://www.haomeiwen.com/subject/cjavxxtx.html