sql
子查询
提示
Hive SQL 教程 编写中,使用过程中有任何建议,提供意见、建议、纠错、催更加微信 gairuo123。欢迎关注本教程作者新书《深入浅出Pandas:利用Python进行数据处理与分析》 。作者开办 Python 数据分析培训,详情 Python 数据分析培训。
标量子查询就是返回单一值的子查询。标量就是单一值的意思,有时候我们在查询中需要和某个计算后的单一值进行查询或者计算,它可以和本表组合,也可以和外表组合。
警告
Hive SQL 不支持标量子查询,可以使用 join 连接替换子查询的方式。MySQL 等支持,在此了解一下。
本文例子中使用的数据是筛选指定字段中的数据内容。我们要查出数学成绩大于平均数学成绩的数据:
select name, math
from students
where math > (select avg(math) from students)
我们我计算数学成绩与平均成绩的差值(diff_math):
select name,
math,
math - (select avg(math) from students) as diff_math
from students
王老师带的班:
select name, class
from students
where class = (select class from class where teacher == '王老师')