mysql子查询应用案例_mysql子查询应用实例

例1:编写SQL语句,查看年龄比“李斯文”小的学生,要求显示这些学生的信息

1.查询李斯文的出生日期

SELECT borndate FROM student WHERE studentname='李斯文'

2.查询出生日期比李斯文大的学生

SELECT *

FROM student

WHERE borndate>(

SELECT borndate FROM student

WHERE studentname='李斯文'

)

e1beefcc304be2a3e3c5afd911d1c882.png

例2:查询“Logic Java”课程至少一次考试刚好等于60分的学生

1)查询logic java课程并且分数是60分的学号

SELECT studentno

FROM result r

INNER JOIN SUBJECT j ON r.subjectno=j.`subjectNo`

WHERE j.subjectname='Java logic' AND r.studentresult=60;

2)查询logic java课程并且分数是60分的学生名字

SELECT studentno,studentname FROM student

WHERE studentno in(

SELECT studentno

FROM result r

INNER JOIN SUBJECT j ON r.subjectno=j.subjectno

WHERE j.subjectname='Java logic' AND r.studentresult=60

)

20ab78619f0cd152c1725a4909e6010f.png

例3:查询参加最近一次Logic Java考试成绩的学生的最高分和最低分

1)查询java logic课程编号

SELECT subjectno FROM SUBJECT WHERE subjectname='java logic'

2)查询最近一次Logic Java考试

SELECT MAX(examdate) FROM result

WHERE subjectno IN(SELECT subjectno FROM SUBJECT WHERE subjectname='java logic')

3)查询最近一次Java Logic考试成绩的学生的最高分和最低分

SELECT MAX(studentresult) 最高分,MIN(studentresult) 最低分

FROM result

WHERE subjectno IN(SELECT subjectno FROM SUBJECT WHERE subjectname='java logic') AND examdate IN(

SELECT MAX(examdate) FROM result

WHERE subjectno IN(SELECT subjectno FROM SUBJECT WHERE subjectname='java logic')

)

fed2765bbf75c6f3c41f207b1f441216.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值