MySQL中的标量子查询,列子查询,行子查询

标量子查询,列子查询,行子查询都属于where子查询,也就是说都写在where之后


### 标量子查询 #### 概念 > 子查询得到的结果是一个数据(一行一列) #### 语法 `select * from 数据源 where 条件判断 =/<> (select 字段名 from 数据源 where 条件判断);` > 查询到的结果就只有一个结果 #### 案例 - 知道一个学生的姓名 : 小生,想知道她在哪个班级(班级名字) - 通过学生表获取到她所在的班级ID - 通过班级ID获取到班级名字 - 需求决定主查询 - 条件决定子查询 `select * from my_class where class_id = (select class_id from my_student where stu_name = '小生');`

列子查询

概念

子查询得到的结果是一列数据(一列多行)

语法

主查询 where 条件 in (列子查询);

案例
  • 获取已经有学会说呢过在班的所有班级名字
    • 找出学生表中所有的班级ID
    • 找出班级表中对应的名字
      select name from my_class where class_id in (select class_id from my_student);

行子查询

概念

返回的结果是一行多列

语法

主查询 where 条件[(构造一个行元素)] = (行子查询);

案例
  • 获取班级上年龄最大,且身高最高的学生
    • 求出班级年龄最大的值
    • 求出班级身高最高的值
    • 求出对应的学生
      select * from my_student where (stu_age,stu_height) = (select max(stu_age),max(stu_height) from mu_student);
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值