MOOC - 数据库系统概论 - 实验操作之多表查询

本文介绍了如何使用KingBase数据库系统进行多表查询操作,涉及学生、课程和选课表。内容包括查询学生姓名、课程名及成绩,显示所有学生选课详情,比较不同系学生年龄,找出全选学生,筛选成绩优秀学生,计算学生平均成绩,按学分排序,查最高分学生及选修特定学生课程的学生名单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
注:性别为enum(‘男’or’女’),请使用KingBase语句进行答题,语句后要添加分号,否则语句视为错误

  1. 询学生姓名,对应的课程名和成绩(输出列为:SNAME,CNAME,GRADE)
SELECT sname SNAME,cname CNAME,grade GRADE 
from student,sc,course 
WHERE student.sno = sc.sno and course.cno = sc.cno;
  1. 查询每个学生的学号、姓名及其选修课程的名称和成绩(包括没有选修课程的学生情况(输出列为:SNO, SNAME, CNAME, GRADE)。
SELECT student.sno SNO,student.sname SNAME,course.CName CNAME,sc.Grade GRADE
from student,course,sc
WHERE student.sno = sc.sno and course.Cno = sc.cno;
  1. 查询其他系中比“信息学院”某一学生年龄小的学生姓名和年龄(输出列为:SNAME, SAGE)。
SELECT Sname , Sage 
FROM Student 
WHERE Sage< ANY (
SELECT Sage 
FROM Student 
WHERE Sdept='信息学院') AND Sdept <> '信息学院';
  1. 查询选修了全部课程的学生姓名(输出列为:SNAME)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值