大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
sql server嵌套查询
一 带有IN谓词的子查询
1. 查询与“刘晨”在同一个系学习的学生
SELECT sno ,
sname
FROM student
WHERE sdept IN
(SELECT sdept
FROM student
WHERE sname='刘晨')
二. 带有比较运算符的子查询
1. 找出每个学生超过他自己选修课程平均成绩的课程号
SELECT sno,
cno
FROM sc x
WHERE grade >=
(SELECT avg(grade)
FROM sc y
WHERE y.sno=x.sno)
内层查询是求一个一个学生的平均成绩的,至于是哪个学生的成绩,要看参数x.sno的值
三. 带有ANY(SOME)或ALL谓词的子查询
1. 查询非计算机科学系中比计算机科学系任意一个学生年龄小的学生姓名和年龄
SELECT sname,
sage
FROM student
WHERE sage <any
(SELECT sage
FROM student
WHERE sdept='cs')
AND sdept <> 'cs'
比子查询中最大值小的
2. 查询非计算机科学系中比计算机科学系所有学生年龄小的学生姓名和年龄
SELECT sname,
sage
FROM student
WHERE sage <all
(SELECT sage
FROM student
WHERE sdept='cs')
AND sdept<>'cs'
比子查询中最大值大的
三. 带有EXISTS谓词的子查询
1. 查询所有选修了1号课程的学生的姓名
--方法一
SELECT sname
FROM student
WHERE exists
(SELECT *
FROM sc
WHERE student.sno=sc.sno
AND cno='1')
--方法二
SELECT sname
FROM student
WHERE sno in
(SELECT sno
FROM sc
WHERE cno='1')
2. 查询没有选修1号课程的学生的姓名
SELECT sname
FROM student
WHERE NOT exists
(SELECT *
FROM sc
WHERE student.sno=sc.sno
AND cno='1')
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169426.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...