MySQL学习笔记(3)

子查询

1.含义

嵌套在其他语句内部的select语句称为子查询

外面的语句也可以是insert update delete select等,一般select作为外面语句较多

外面如果是select语句,则可以称为外查询或者主查询

2.分类

(1)按出现位置
  select后面
    只支持标量子查询

  from后面
    主要是表子查询
    注意:将子查询结果充当一张表,要求必须起别名

  where后面或having后面
    特点:
    ①子查询放在小括号内

    ②子查询一般放在条件的右侧

    ③标量子查询,一般搭配着单行操作符使用

     > < >= <= = <>

    ④列子查询,一般搭配着多行操作符使用

    in/not in any/some all

    ⑤子查询的执行优于主查询执行,主查询的条件用到了子查询的结果

    支持类型:
    标量子查询
    列子查询
    行子查询

  exists后面(相关子查询)
    语法:
    exists(完整的查询语句) 结果:1或0

    支持类型:
    标量子查询

    列子查询

    行子查询

    表子查询

(2)按结果集的行列
  标量子查询(单行子查询):结果为一行一列

  列子查询(多行子查询):结果集为多行一列

  行子查询:结果集为多行多列

  表子查询:结果集为多行多列

分页查询

1.应用场景

当要查询的条目太多,一页显示不全

2.语法

select 查询列表 ①
from 表1 ②

【join type join 表2 ③

on 连接条件 ④

where 筛选条件 ⑤

group by 分组字段 ⑥

having 分组后的筛选 ⑦

order by 排序后的字段】⑧

limit 【offset,】size; ⑨
语句执行顺序:②→③→④→⑤→⑥→⑦→①→⑧→⑨

注意:
offset代表的是起始的条目索引,默认从0卡死
size代表的是显示的条目数
limit 字句不论是语法还是执行顺序上都放在最后
公式:
假如要显示的页数为page,每一页条目数为size
select 查询列表
from 表
limit (page-1)*size,size;

联合查询

含义: 将多条查询语句的结果合并成一个结果

语法:
查询语句1
union
查询语句2
union

应用场景:
要查询的结果来自多个表,且多个表没有直接的连接关系,但查询信息一致时

特点:
①要求多个查询语句的查询列表是一致的
②要求多条查询语句的查询的每一列的类型和顺序最好一致
③union关键字默认去重,如果使用union all 可以包含重复项

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鑫宇_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值