Mysql数据库子查询【重点】


​🕶️师兄简介:机械专业,通过自学成功进入IT领域,求学期间实现经济独立,对自学、兼职、计算机、学习规划等有独到见解!「点击了解更多


🤖师兄致力解决在大学生活与学习中遇到的各种问题.


🎁 公众号「渣师兄」内回复「渣学」可获得超 5T 的新生见面礼!


🔗官方网站: 渣学网 →「zhaxueit.cn」→ 大学生活与学习一站式解决方案.


🙏找师兄帮忙「无偿」请➕💓:zhaxueit

📓进资源群「每日分享」【免费】(坑位有限)也请➕💓:zhaxueit 并备注「进群」

👀个人主页:@渣师兄 ,欢迎关注、私信师兄!


🐐 登高必自卑,行远必自迩.
🍇 我始终坚信越努力越幸运
⭐️ 那些打不倒我们的终将会让我们变得强大
🍑 希望在编程道路上深耕的小伙伴都会越来越好



子查询【重点、面试点】

子查询的应用场景

答:查询某个信息,一条SQL语句不能成功查询,需要多条SQL语句才可成功查询,这是就可以用到子查询(sql语句的嵌套)

什么是子查询以及分类及其用法

子查询:子查询就是将一条或多条sql语句嵌套进另外一条SQL语句内,嵌套语句是子查询语句,被嵌套语句(外部)是主查询语句

例如 select * from classes where age > (select avg(new_age) from phone); 黄色区域的就是子查询语句,外面的就是主查询语句

子查询语句的分类:

【重点】1.标量子查询:子查询语句返回的是一个数据,但不局限于数据(一行一列)

【重点】2.列子查询:子查询语句返回的是一列多行的数据

3.行子查询:子查询语句返回的是一行多列的数据

4.表子查询:子查询语句返回的是多行多列的数据

注意事项:子查询是一条完整独立的SQL语句

子查询的用法(代码示例):

标量子查询语法:select * from classes where age > (select avg(age) from classes) ;

表示查询 classes表内学生年龄age 大于学生平均年龄avg(age)的所有学生信息

——————————————————————————————————————————

普通语法:为了达到上面的结果,不使用子查询,需要写两条SQL语句才能实现

语句1:select avg(age) from classes; 先求出学生的平均年龄,假设是28
语句2:select * from classes where age > 28; 在查询比平均年龄大的学生信息

———————————————————————————————————————————

快速代码体验:

image-20211011204342655

列子查询语法:select * from classes where classes.new_age in (select age from phone);
表示查询出classes表内的new_age字段信息等于 phone表的age字段的所有学生信息

——————————————————————————————

普通语法:

语句1:select age from phone 先查询出phone表内的所有age字段信息,返回值是一列多行,假设为1,2,5

语句2:select * from classes where classes.new_age in (1,2,5);

快速代码体验:

image-20211011204402251

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

渣师兄

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

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

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

打赏作者

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

抵扣说明:

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

余额充值