【MySQL】基本查询简述

2020-01-09  本文已影响0人  KL2的杂货铺

进行数据分析及挖掘,我们的目的是从数据库中抓取有用信息。

1. SELECT语句

MySQL的书写顺序为:

SELECT
    DISTINCT column,AGG_FUNC(column_or_expression)
FROM
    Mytable
JOIN
    other_table
ON
    Mytable.column=other_table.column
WHERE
    constraint_expression
GROUP BY
    column
HAVING
    constraint_expression
ORDER BY
    column ASC/DESC
LIMIT
    count OFFSET count;

MySQL的执行顺序为:

FROM
JOIN
ON
WHERE
GROUP BY
HAVING
SELECT DISTINCT
ORDER BY
LIMIT/OFFSET
  1. FROM 和 JOIN被先执行,获得一份数据
  2. 有了数据集,WHERE 限制条件把不满足的行抛弃掉
  3. WHERE 限制条件后,GROUP BY 会根据某一字段来进行分组,并对各个组进行求聚合
  4. HAVING 与 WHERE 语句作用相同,但HAVING是过滤聚合值
  5. SELECT语句
  6. DISTINCT 对剩下的行,去除重复行,只保留唯一
  7. ORDER BY 对SELECT 后的结果进行排序
  8. LIMIT/OFFSET 用来限定返回的行数

1.1 一个基础的SQL查询

开始学习MySQL的一个好方法就是使用最简单的查询,即从一个表中查询一列数据。

SELECT zc.zcta5, LEFT(zc.zcta5, 3) as scf
FROM ZipCensus zc
WHERE stab = 'MN'
ORDER BY zc.zcta5

从ZipCensus,别名为zc的表中;获取列zcta5从左开始截取长度为3的字符串,别名为scf;且只有stab列等于“MN”的数据才返回;而后,对数据进行排列。

1.2 一个基本的求和查询

SQL的一个强大的功能是它能够对表中的数据求和。

SELECT stab, COUNT(*) as numzip
FROM ZipCensus zc
GROUP BY stab
ORDER BY numzip DESC

从ZipCensus,别名为zc的表中;并将表看成若干组,这些组是通过stab列中的不同值来决定的;在组内,计算表中数据行的行数;结果以计数的降序排序。

上一篇 下一篇

猜你喜欢

热点阅读