数据库练习题

在教务管理数据库中,有学生关系S(SNo,SN,Sex,Age,Dept)、选课关系SC(SNo,CNo,Score)、课程关系(CNo,CN,CT)、教师关系T(TNo,TN,Sex,Age,Prof,Sal,Comm,Dept)、授课关系TC(TNo,CNo)。上述关系模式中属性的定义同课堂上的定义。请使用关系代数表示以下查询:

(1)查询教师号为T1老师教授课程的课程号和课程名。

(2)查询年龄大于18岁的男同学的学号、姓名和系别。

(3)查询“张天”同学所选修的所有课程的课程号、课程名和成绩。

(4)查询至少选修全部课程的学生学号和学生姓名。

创建一个选择查询,按系别统计各自男女学生的平均年龄

SELECT
系,
性别,
AVG(年龄) AS 平均年龄
FROM

GROUP BY
系,
性别

上面是用 SQL 的处理方法。

楼主要求 “最好不是SQL啊”, 不知道楼主 希望是用什么?

一步一步操作?
那要说明是什么数据库啊.
如果是 Access的话, 操作顺序是这样的:

1、创建一个查询
2、在《显示表》窗口里面,把那个表 选中,按 添加按钮。
3、关闭《显示表》窗口, 进入设计窗口。
4、在表中,双击 系, 性别, 年龄 这3列, 加到下面的列表中。
5、在下面列表的地方,鼠标右键,在弹出窗口,选择 “汇总”
6、修改 年龄下面的 Group By, 变成 “计算” 注意,不是“总计”。
7、运行查询。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-07
(1)查询教师号为T1老师教授课程的课程号和课程名。
SELECT TC.CNo,C.CN FROM T left join TC on t.TNo=TC.TNo left join C on TC.CNo=C.CNo WHERE T.TNo='T001';
(2)查询年龄大于18岁的男同学的学号、姓名和系别。

SELECT S.SNo,S.SN,S.Dept FROM S WHERE S.Age>18 AND Sex='M';
(3)查询“张天”同学所选修的所有课程的课程号、课程名和成绩。
SELECT SC.SNo,C.CN,SC.Score FROM S LEFT JOIN SC ON S.SNo=SC.SNo LEFT JOIN C ON SC.CNo=C.CNo WHERE S.SN='张天';
(4)查询至少选修全部课程的学生学号和学生姓名。

select S.SNo,S.SN from S LEFT JOIN SC ON S.SNo=SC.SNo GROUP BY S.SNo,S.SN
HAVING COUNT(SC.CNo)=(SELECT COUNT(*) FROM C);本回答被提问者采纳
相似回答