用sql语言检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业。
时间: 2023-06-07 08:11:19 浏览: 189
您好!根据您的要求,以下是该 SQL 查询语句:
SELECT 学号, 姓名, 专业
FROM 学生表
WHERE NOT EXISTS (SELECT *
FROM 选课表
WHERE 学生表.学号 = 选课表.学号
AND 选课表.课程号 = 'C135');
请注意,以上查询语句假设您的学生和选课信息分别存储在两张名为“学生表”和“选课表”的表中。如果您的表命名方式不同,请将表名替换为正确的名称。
相关问题
现有关系数据库如下: 学生(学号,姓名,性别,专业) 课程(课程号,课程名,先修课,学分) 学习(学号,课程号,分数) (1)用关系代数表达式实现: 检索所有选修了课程号为“C111”的课程的学生的学号、姓名和分数(2)用SQL语句实现: 创建课程表,课程号为主码,课程名不允许为空,先修课参照课程号。 (3)用SQL语句实现:向课程表中插入一条记录,课程号为“C111”,课程名为数据库原理,先修课为空,学分为4. (4) 用SQL语句实现: 将课程号为“C111”的课程的学分修改为5; (5) 用SQL语句实现:检索“网工"专业学生所学课程的信息,包括学号、姓名、课程名和分数;(6) 用SQL语句实现: 删除选修了"数据库原理”并且分数为空的选课信息。
(1) $\pi_{学号,姓名,分数}(\sigma_{课程号='C111'}(学生\bowtie 学习))$
(2)
```
CREATE TABLE 课程 (
课程号 CHAR(4) PRIMARY KEY,
课程名 VARCHAR(20) NOT NULL,
先修课 CHAR(4) REFERENCES 课程(课程号)
);
```
(3)
```
INSERT INTO 课程 VALUES('C111','数据库原理',NULL,4);
```
(4)
```
UPDATE 课程 SET 学分=5 WHERE 课程号='C111';
```
(5)
```
SELECT 学生.学号,学生.姓名,课程.课程名,学习.分数
FROM 学生,课程,学习
WHERE 学生.学号=学习.学号 AND 课程.课程号=学习.课程号 AND 学生.专业='网工';
```
(6)
```
DELETE FROM 学习 WHERE 课程号='C111' AND 分数 IS NULL;
```
用SQL语言表示“检索学习全部课程的学生姓名”,其中学生姓名、学号在S表中,学号、课程号在SC表中
可以使用以下的SQL语句表示:
SELECT DISTINCT S.学生姓名
FROM S, SC
WHERE S.学号 = SC.学号
AND SC.课程号 IN (SELECT 课程号 FROM SC GROUP BY 课程号 HAVING COUNT(*) = (SELECT COUNT(*) FROM S))
阅读全文