SQLzoo刷题-嵌套子查询、相关子查询

本文详细介绍了如何使用SQL中的嵌套子查询和相关子查询。在嵌套子查询部分,通过实例展示了如何筛选出人口超过俄罗斯的国家、人均GDP高于英国的国家以及与阿根廷同洲的国家。而在相关子查询部分,解释了其执行逻辑,并通过示例解释了如何找出薪水高于其经理的员工以及语文成绩优于数学成绩的学生。
摘要由CSDN通过智能技术生成

1、嵌套子查询

子查询就是将问题分为两步,先筛选出中间量,再进行查询

  • 人口超过“俄罗斯”的每个国家的名称。(先求出俄罗斯的人口,再筛选大于俄人口)
  • 人均国内生产总值大于“英国”的国家。(先求出英国的GDP,再筛选大于其GDP)
  • 包含阿根廷的洲的国家。(先筛选出阿根廷所在的州,再筛选州中的国家)
/*筛选GDP大于欧洲所有国家的国家,思路一:GDP>all(欧洲国家的GDP)*/
SELECT name FROM world 
WHERE GDP > ALL(
      SELECT GDP FROM world 
      WHERE GDP > 0 /*有些国家的GDP可能是NULL*/
      and continent='Europe')

注:>ALL 父查询中的结果集大于子查询中每一个结果集中的值

/*筛选GDP大于欧洲所有国家的国家,思路二:GDP>max(欧洲国家GDP)*/
SELECT name FROM world 
WHERE GDP>(
           select<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值