前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql学习笔记(六)select查询子句与子查询

mysql学习笔记(六)select查询子句与子查询

原创
作者头像
逆回十六夜
修改2020-02-11 11:56:54
1.2K0
修改2020-02-11 11:56:54
举报
文章被收录于专栏:逆回十六夜逆回十六夜

select语句有6大子句

from

后跟表,视图,多行多列的二维表,从这些表中筛选数据

where

后跟条件,取哪几行的数据

group by

后面跟列名依据这个列名进行分类汇总,一般跟函数相关联使用如SUM,COUNT,AVG等等...

如select id,sum(salary) group by id;

group by后跟的列名也可以有多个

having

意味着对分组统计结果中再次对统计结果加条件,其作用类似于where,但是select的查询子句的位置是有要求的,六大查询子句,在having位置再加条件,其也是不可或缺的

having和where的区别

1.where后面不能跟分组函数

2.where用于在原表的记录中筛选,having可以是对原表的筛选,但更多的是对统计结果的筛选。

order by

升序:ASC

降序:DESC

limit

取几条信息

limit m,n

m表示从第几条信息开始取,n表示最多取n条信息

通常用于分页查询

子查询

在一个查询中嵌套另一个查询,子查询的结果作为外部查询的条件或者数据范围来使用。

子查询分为3类:

where型

  • select 展示列名 from 表名 where 列名 运算符(select 对应列名 from ....);

这个列名和对应列名应该做到类型相同

如果不加入运算符,也可以使用IN这些类似符号

  • select 展示列名 from 表名 where 列名 in(select 对应列名 from ....);

例:select 展示列名 from 表名 where 列名 >ALL(select 对应列名 from ....);比子查询的值都大

select 展示列名 from 表名 where 列名 >ANY(select 对应列名 from ....);比子查询的任意一个值大

from型

  • select 展示列们 from 表名 inner join (select 列名 from ...) 临时表名 on 条件;

其中,select的子查询所得的表为临时表,后跟临时表名,可在条件判断中指代。

exist型

select 展示列 from 表名 where exists (select 列名 from 表名 where 条件);

将主查询的结果带入子查询进行条件判断和匹配,如果查询出结果即保留。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • select语句有6大子句
    • from
      • where
        • group by
          • having
            • order by
              • limit
              • 子查询
                • where型
                  • from型
                    • exist型
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档