学生表Student(Sno,Sname,Ssex,Sage,Sdept),课程表Course(Cno,Cname,Cpno,Ccredit),学生选课表SC(Sno,Cno,Grade) 。请在SQL Server查询至少选修了21201901所选的全部课程的学生学号
时间: 2024-06-06 10:06:43 浏览: 103
SELECT SC.Sno
FROM SC
WHERE NOT EXISTS (
SELECT Cno
FROM Course
WHERE Cpno = '21201901'
EXCEPT
SELECT Cno
FROM SC
WHERE SC.Sno = SC.Sno
)
相关问题
Student(Sno,Sname,Ssex,Sage,Sdept) Course (Cno, Cname, Cpno, Ccredit) SC(Sno, Cno, Grade)利用IN谓词检索所有软件学院学生的成绩;
可以使用如下SQL语句来检索所有软件学院学生的成绩:
```
SELECT Sno, Sname, Cno, Grade
FROM Student, Course, SC
WHERE Student.Sdept = '软件学院'
AND Student.Sno = SC.Sno
AND Course.Cno = SC.Cno;
```
上述SQL语句中,通过在Student表中使用Sdept='软件学院'条件筛选出所有属于软件学院的学生,然后将该表与Course表和SC表连接起来,以获取所有软件学院学生的成绩信息。
使用SQL命令创建创建以下三个关系: Student(Sno,Sname,Ssex,Sage,Sdept) Course (Cno, Cname, Cpno, Ccredit) SC(Sno, Cno, Grade)
好的,我可以为您提供SQL命令来创建这三个关系。请使用以下命令:
创建学生表:
```
CREATE TABLE Student (
Sno CHAR(10) PRIMARY KEY,
Sname VARCHAR(20) NOT NULL,
Ssex CHAR(2) NOT NULL,
Sage INT NOT NULL,
Sdept VARCHAR(20) NOT NULL
);
```
创建课程表:
```
CREATE TABLE Course (
Cno CHAR(10) PRIMARY KEY,
Cname VARCHAR(20) NOT NULL,
Cpno CHAR(10),
Ccredit INT NOT NULL
);
```
创建选课表:
```
CREATE TABLE SC (
Sno CHAR(10) REFERENCES Student(Sno),
Cno CHAR(10) REFERENCES Course(Cno),
Grade INT NOT NULL,
PRIMARY KEY (Sno, Cno)
);
```
这样就成功创建了三个关系表:Student、Course、SC。