数据库 组合查询

组合查询

结构:select 列1,列2

        from  表名

       where 过滤条件

       group by 列1,列2

      having 聚合函数(列1)=值

     group by 列1,列2

子查询:嵌套在其他查询中的查询

子查询的计算列:

限制:嵌套在select语句中的SQL 语句要求查询只能是单列单行

a.  from中的嵌套子查询

语法:select  列1,列2  from表名 where 列1=(子查询)

比较运算符:</>/<=/>=/=/!=

b.in 和not in

子查询运算符(all any exists)

第一:in

语法:select * from 表名 where 列in(子查询)

第二:not in

语法:select * from 表名 where 列in(子查询)

c.where中的嵌套:

第一:all 如果子查询返回的所有值都满足比较运算,那么比较表达式就为真,否是假

第二:any如果子查询返回的值,只要有一行满足比较运算,那么比较表达式就为真,否则所有的每一行都不满足就是假。

第三:exists有返回值就为真

d.where 子句的嵌套:

exists/ not exists

使用exists运算符时只要子查询有数据,则为真,因此子查询的结果是单列或多列或单行或多行都行

               在group by 中使用子查询

              与select中嵌套类似,要求子查询只能返回单行单列值

             在having中

与where中嵌套类似,只能用到聚合函数

在order by中:与select中嵌套类似,要求子查询只能返回单行单列值

Union :是一种联合两条或以上查询的运算符

类似多条查询结果,相组合的效果

语法:select  列1,列2    from1

          Union

        select  列3,列4    from2

使用它:;结构是一样查询的列数,自动去除重复的行,结果使用拼接

Union all :与union不同的地方:保留重复行

转载于:https://www.cnblogs.com/yufei121/p/5141558.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值