数据库嵌套查询和集合查询

一、下面进行一些比较典型的查询例子:
1.在教学管理JXGL数据库中进行如下操作:
(1) 求选修了数学的学生的学号和姓名。

SELECT DISTINCT SC.Sno,Sname
FROM STUDENT,SC
WHERE Cno='2'AND SC.Sno=STUDENT.Sno;

(2) 求数学课程成绩高于李勇的学生学号和成绩。

SELECT DISTINCT SC.Sno,Grade
FROM STUDENT,SC
WHERE Cno='2'AND Grade>=92 AND SC.Sno=STUDENT.Sno;

(3) 求其他系中年龄小于计算机系年龄最大者的学生。

SELECT *
FROM STUDENT
WHERE Sage>ALL(SELECT Sage
FROM STUDENT
WHERE Sdept='CS'
)AND Sdept!='CS';

(4) 求其他系中比计算机系学生年龄都小的学生。

SELECT *
FROM STUDENT
WHERE Sage<ANY(SELECT Sage
FROM STUDENT
WHERE Sdept='CS'
)AND Sdept!='CS';

(5) 求选修了数学课的学生姓名。

SELECT Sname
FROM STUDENT
WHERE EXISTS(SELECT *
FROM SC
WHERE Cno='2' AND SC.Sno=STUDENT.Sno);

(6) 求没有选修数学课的学生姓名。

SELECT Sname
FROM STUDENT
WHERE NOT EXISTS
	( SELECT *
	  FROM SC
      WHERE Cno='2' AND SC.Sno=STUDENT.Sno); 

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值