有关系S(S#,SNAME,SEX,BIRTH,DEPT),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SEX是性别,BIRTH是出生日期,DEPT是学生所在系, C#是课程号,CNAME是课程名称,GRADE是成绩。用SQL语句完成下列查询操作。 1.查询全体学生的姓名、学号、所在系。 2.查询网络系全体学生的姓名及其出生年份。 3.查询所有名字为三个汉字的学生的姓名、学号。 4.查询所有姓“王”的学生的姓名和所在系。 5.查询成绩不及格的学生的学号及其成绩。 6.查询全体学生情况,查询结果按所在系升序排列。 7.将所有男生系别都改为通信系,并将性别改为M。 8.删除所有通信系的学生的记录。
时间: 2024-03-15 09:44:09 浏览: 115
1. 查询全体学生的姓名、学号、所在系。
```
SELECT SNAME, S#, DEPT FROM S;
```
2. 查询网络系全体学生的姓名及其出生年份。
```
SELECT SNAME, YEAR(BIRTH) FROM S WHERE DEPT = '网络系';
```
3. 查询所有名字为三个汉字的学生的姓名、学号。
```
SELECT SNAME, S# FROM S WHERE LENGTH(SNAME) = 3;
```
4. 查询所有姓“王”的学生的姓名和所在系。
```
SELECT SNAME, DEPT FROM S WHERE SNAME LIKE '王%';
```
5. 查询成绩不及格的学生的学号及其成绩。
```
SELECT S#, GRADE FROM SC WHERE GRADE < 60;
```
6. 查询全体学生情况,查询结果按所在系升序排列。
```
SELECT * FROM S ORDER BY DEPT ASC;
```
7. 将所有男生系别都改为通信系,并将性别改为M。
```
UPDATE S SET DEPT = '通信系', SEX = 'M' WHERE SEX = '男';
```
8. 删除所有通信系的学生的记录。
```
DELETE FROM S WHERE DEPT = '通信系';
```
相关问题
设有3个关系: S(S#,SNAME,SEX,AGE) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 试用关系代数表达式表示下列查询语句:(1)~(8)小题
(1) 查询所有学生的姓名和年龄:
π SNAME, AGE (S)
(2) 查询选了课程C1并且成绩不低于80分的学生的学号和姓名:
π S# SNAME (σ C#='C1' ∧ GRADE>=80 (SC ⨝ S))
(3) 查询选了课程C1或C2并且成绩不低于80分的学生的学号和姓名:
π S# SNAME (σ (C#='C1' ∨ C#='C2') ∧ GRADE>=80 (SC ⨝ S))
(4) 查询没有选课程的学生的学号和姓名:
π S# SNAME (S - π S# (SC ⨝ S))
(5) 查询至少选了两门课程的学生的学号和姓名:
π S# SNAME (σ COUNT(C#)≥2 (SC ⨝ S) ⨝π S# (SC))
(6) 查询选修了张老师教授的课程的学生的学号和姓名:
π S# SNAME (SC ⨝σ TEACHER='张' (C))
(7) 查询选修了至少一门课程的女生的学号和姓名:
π S# SNAME (σ SEX='女' ∧ S# IN (π S# (SC ⨝ S)))
(8) 查询选修了全部课程的学生的学号和姓名:
π S# SNAME (σ COUNT(C#)=(SELECT COUNT(*) FROM C) (SC ⨝ S))
学生关系 S(S#,SNAME,AGE,SEX) 选课关系 SC(S#,C#,GRADE) 课程关系 C(C#,CNAME,TEACHER) 查询学习课程号为C2的学生学号与成绩
可以使用如下 SQL 语句查询学习课程号为 C2 的学生学号与成绩:
```sql
SELECT S.S#, SC.GRADE
FROM S, SC
WHERE S.S# = SC.S# AND SC.C# = 'C2';
```
该语句通过内连接(使用 WHERE 子句)将学生关系 S 和选课关系 SC 进行关联,并筛选出选修课程号为 C2 的记录,最后选择学生学号和成绩两个字段进行查询。
阅读全文