首页 > 代码库 > 子查询

子查询

将结果来作为另一个查询的参数

创建和使用返回单值的子查询

在多表查询中使用子查询

在student表查询“计算机入门”课程的学生学号、姓名和成绩,使用连接表的方法,如下:

select sno,sname,mark

from student as s

inner join course as c

on s.cno=c.cno where cname="计算机入门";

采用子查询的方式,如下:

select sno,sname,mark

from student

where cno=(select cno from course where cname="计算机入门");

技术分享

在子查询中使用聚合函数

1)在teacher表查询年龄高于平均年龄的教师工号、姓名、专业和年龄信息

select tno,tname,dname,age

from teacher

where age>(select avg(age) from teacher)

order by age;
技术分享

2)在teacher中查询教师的信息,并且要求教师所在专业的平均年龄大于所有教师的平均年龄

select tno,tname,dname,cno,age

from teacher as t

where

(select avg(age) from teacher where dname=t.dname)  >  (select avg(age) from teacher);
技术分享

创建和使用返回多行的子查询

 

 

 

 

子查询