子查询
子语句的查询结果作为where 的条件语句(where )
#方法一: 使用where语句
#查询Java成绩最高的学生信息
select MAX(score) from cla where sconame ='java'
#进行where 语句的嵌套
select * from cla where score=(select MAX(score) from cla where sconame ='java')
子语句的查询结果作为查询语句的一部分(select )
#方法二:子查询的结果做为查询结果的一部分
#根据cen表中的id提取出所对应的name,在根据id插入到good表中
select g.name, g.price ,g.sepc ,g.tags, (select name from cen where cen.id= g.cid ) rr from good g
子语句的查询结果集作为from的条件语句(from)
#方法三 子查询的结果集 作为from的子句
#查询每门课程中 成绩排名第一的信息
select * from cla
select RANK() over(PARTITION by sconame order by score desc ) r ,c.* from cla c
#这里为什么不能用In,可以用的
select * from (select RANK() over(PARTITION by sconame order by score desc ) r ,c.* from cla c ) r where r = 1 where r between 1 and 2 where r = 1