美文网首页
笔记 | MySQL 查询篇

笔记 | MySQL 查询篇

作者: HUGO_BOY | 来源:发表于2019-12-21 15:39 被阅读0次

    原文链接:https://mp.weixin.qq.com/s/v8qh3b771ed5pkcAxPllJw

    写在前面:

    从实践的角度讲,熟悉数据库的第一步大概率是查询,今天总结了数据库查询的基础知识,分享给大家~

    基础部分

    最简单的查询语句

    SELECT 字段名1,字段名2 FROM 表名

    查询全部字段

    SELECT *FROM表名

    查询并去重

    筛选掉字段名1,字段名2都相同的数据项

    SELECT DISTINCT 字段名1,字段名2FROM 表名

    查询到的字段赋以新字段名

    SELECT 字段名1 AS 新字段名1,字段名2 AS 新字段名2FROM 表名

    通过组合逻辑查询数据表中不存在的字段

    SELECT 字段名1,计算逻辑1 AS 字段名2FROM 表名

    例如:

    SELECT user_id,SUM(VALUE1,VALUE2) AS VALUEFROM use_info_table

    添加筛选条件

    SELECT 字段名1,字段名2FROM 表名WHERE 条件1 AND 条件2 OR 条件3

    分组查询(常见用法)

    SELECT 字段名1,COUNT(字段名2),SUM (字段名3)FROM 表名GROUP BY 字段名1

    解释:按字段名1分组,在分组内对字段2计数,对字段3求和

    分组查询(不常见用法)

    SELECT 字段名1,字段名2FROM 表名GROUP BY 字段名1

    解释:按字段名1分组,在分组内对字段2随机取值

    对查询结果排序

    SELECT 字段名1,字段名2FROM 表名ORDER BY 字段名1 ASC/DESC

    解释:ASC表升序,DESC表降序,默认升序

    对查询结果进行过滤

    SELECT 字段名1,字段名2FROM 表名HAVING 条件1 AND 条件2 OR 条件3

    解释:WHERE用于约束数据,在返回结果集之前起作用,HAVING是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作。

    限制输出数据项条数

    SELECT 字段名1,字段名2 FROM 表名LIMIT 条数

    以上命令执行顺序

    select–>where–>groupby–>having–>orderby

    多表查询、子查询、UNION操作符

    内连接INNERJOIN

    SELECT a.字段名1,b.字段名3FROM 表1 aINNER JOIN 表2 bON a.字段名1 = b.字段名2

    解释:只有当表1字段1和表2字段2都存在时才会匹配出结果

    左连接LEFTJOIN

    SELECT a.字段名1,b.字段名3FROM 表1 aLEFT JOIN 表2 bON a.字段名1 = b.字段名2

    解释:以表1字段1为准,表2字段2无对应值时补Null

    右连接RIGHTJOIN

    SELECT a.字段名1,b.字段名3FROM 表1 aRIGHT JOIN 表2 bON a.字段名1 = b.字段名2

    解释:以表2字段2为准,表1字段1无对应值时补Null

    更多内容麻烦移步原文:

    https://mp.weixin.qq.com/s/v8qh3b771ed5pkcAxPllJw

    相关文章

      网友评论

          本文标题:笔记 | MySQL 查询篇

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