重庆邮电大学 数据库技术及应用(A1040090) 实验三 代码

CREATE TABLE student
(
SNO VARCHAR(20),
Name VARCHAR(10),
Age Integer,
College VARCHAR(30)
);

CREATE TABLE Course
(
CourseID VARCHAR(15),
Coursename VARCHAR(30),
coursebeforeID VARCHAR(15)

);
CREATE table choose
(
sno VARCHAR(20),
courseid VARCHAR(30),
score DECIMAL(5,2)
);

INSERT INTO student VALUES('S00001','张三',20,'计算机学院');
INSERT INTO student VALUES('S00002','李四',19,'通信学院');
INSERT INTO student VALUES('S00003','王五',21,'计算机学院');


INSERT INTO course VALUES('C1','计算机引论',NULL);
INSERT INTO course VALUES('C2','C 语言','C1');
INSERT INTO course VALUES('C3','数据结构','C2');

INSERT INTO choose values('S00001','C1',95);
INSERT INTO choose values('S00001','C2',80);
INSERT INTO choose values('S00001','C3',84);
INSERT INTO choose values('S00002','C1',80);
INSERT INTO choose values('S00002','C2',85);
INSERT INTO choose values('S00003','C1',78);
INSERT INTO choose values('S00003','C3',70);

SELECT sno,Name FROM student WHERE college='计算机学院';
SELECT *FROM student WHERE age BETWEEN 20 and 23;
SELECT COUNT(*) FROM student;
SELECT max(score) FROM choose WHERE courseid='C1';
SELECT min(score) FROM choose WHERE courseid='C1';
SELECT sum(score) FROM choose WHERE courseid='C1';
SELECT avg(score) FROM choose WHERE courseid='C1';
SELECT courseid,coursename  FROM course where coursebeforeid is NULL;

SELECT student.sno,name,coursename,score
from student
join choose
on student.sno=choose.sno
join course
on choose.courseid=course.courseid;

select student.sno,name from student where (college='计算机学院') and exists(SELECT student.sno,name,coursename,score
from student
join choose
on student.sno=choose.sno
join course
on choose.courseid=course.courseid);


-- 16.用 SELECT 语句的嵌套查询,查询选修 C1 课程的成绩低于“张三”的学生的学号和成绩。
-- 这里新建了个表
CREATE TABLE select_15(
SNO VARCHAR(20),
Name VARCHAR(10),
Coursename VARCHAR(30),
score DECIMAL(5,2),
CourseID VARCHAR(15)
)
INSERT INTO SELECT_15
SELECT student.sno,name,coursename,score,choose.courseid
from student
join choose
on student.sno=choose.sno
join course
on choose.courseid=course.courseid;

SELECT sno ,score FROM select_15 WHERE sno IN( SELECT sno FROM choose where courseid='C1' and score<95)and courseid='C1';

-- 17.
SELECT sno FROM choose WHERE courseid='C1'
UNION
SELECT sno FROM choose WHERE courseid='C3';
-- 18.
SELECT DISTINCT sno FROM choose WHERE courseid='C1'
UNION
SELECT DISTINCT sno FROM choose WHERE courseid='C3';
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值