数据库||嵌套查询

Posted Jachyn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库||嵌套查询相关的知识,希望对你有一定的参考价值。

点击蓝字关注作者

嵌套查询


  数据库||嵌套查询

将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询



查询与“刘晨”在同一系学习的学生

SELECT Sno,Sname,SdeptFROM StudentWHERE Sdept IN (SELECT Sdept                 FROM Student WHERE Sname=‘刘晨’);





查询选修了课程名为“信息系统”的学生学号和姓名。

SELECT Sno,SnameFROM StudentWHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM Course WHERE Cname=‘信息系统’ ) );




找出每个学生超过他自己选修课程平均成绩的课程号

SELECT Sno,CnoFROM SC xWHERE Grade>=(SELECT AVG(Grade) FROM SC y WHERE y.Sno=x.Sno);





查询非计算机科学系中比计算机科学系任意一个学生年龄小的学生姓名和年龄

SELECT Sname,SageFROM StudentWHERE Sage<ANY(SELECT Sage                FROM Student                WHERE Sdept ='CS'AND Sdept<>'CS';




查询非计算机科学系中比计算机科学系所有学生年龄都小的学生姓名及年龄

SELECT Sname,SageFROM StudentWHERE Sage<All (SELECT Sage FROM Student WHERE Sdept='CS') AND Sdept <>'CS';




查询所有选修了1号课程的学生姓名

SELECT SnameFROM StudentWHERE EXISTS (SELECT * FROM SC WHERE Sno=Student.Sno AND Cno='1');




查询没有选修1号课程的学生姓名

SELECT SnameFROM StudentWHERE NOT EXISTS (SELECT *                  FROM SC WHERE Sno=Student.Sno AND Cno='1');




查询选修了全部课程的学生姓名

SELECT SnameFROM Student WHERE NOT EXISTSSELECT *                    FROM Course                     WHERE NOT EXISTS (SELECT *                          FROM SC WHERE Sno=Student.Sno AND Cno=Course.Cno));




查询至少选修了学生201215122选修的全部课程的学生号码

SELECT DISTINCT SnoFROM SC SCXWHERE NOT EXISTS (SELECT * FROM SC SCY WHERE SCY.Sno='201215122' AND NOT EXISTS (SELECT * FROM SC SCZ                    WHERE SCZ.Sno=SCX.Sno AND SCZ.Cno=SCY.Cno));

往期推荐





微信扫描右方二维码


数据库||嵌套查询

关注Jachyn


专注生活


“在看”我吗?

以上是关于数据库||嵌套查询的主要内容,如果未能解决你的问题,请参考以下文章

使用嵌套片段和动画对象

将片段添加到片段中(嵌套片段)

sql语句中嵌套时候用in 和=有啥区别

Android 动画嵌套片段

将数据从嵌套片段发送到父片段

sql语句 嵌套查询 排序