七天解决MySQL----Day 4

本文详细介绍了MySQL中的子查询,包括标量子查询、列子查询和相关子查询的使用,以及在select、from、where后的应用。此外,还讲解了分页查询的语法和联合查询的操作,强调了union前后查询列的一致性和数据类型匹配的重要性。
摘要由CSDN通过智能技术生成

#子查询
含义:出现在其他语句中的select语句,称为子查询或内查询,此时,外部的查询语句叫做主查询或外查询。
比如:

select 姓名 from 学生
where 学院代码 in(select 学院代码 from 学院 where 学院名称='计算机')

分类:

1.按子查询出现的位置:
select后边:仅支持标量子查询。
from 后边:支持表子查询。
where或having后边:支持标量子查询、列子查询、行子查询(用的不多)。
exists后:表子查询。
2.按结果集的行列数不同:
标量子查询(结果集只有一行一列)
列子查询(结果集只有多行一列)
行子查询(结果集有一行多列)
表子查询(结果集有多行多列)

  1. where或having后边的子查询
    特点:

    1.子查询放在小括号内。
    2.子查询一般放在条件的右侧。
    3.标量子查询一般搭配着单行操作符(> < >= <= = <>)使用。
    4.列子查询一般搭配着多行操作符(in、any/some、all)使用。

    1.1 标量子查询。
    (返回一列一行,搭配单行比较操作符使用)
    子查询的执行优先于主查询的执行
    案例:查询谁的数据库(课程号为C1)成绩比王娜高:

    select 姓名,成绩 from 学生 inner join 学习 on 学生.学号=学习.学号
    where 成绩>
    (select 成绩 from 学生 
    inner join 学习 on 学生.学号=学习.学号 
    where 姓名='王娜' and 课程号='C1') 
    and 课程号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值