MySQL数据库学习笔记(四)实验课一

文章讲述了作者初次进行数据库实验的经历,重点讨论了关系代数中的π、ρ、⨯、σ、-、∪和∩等操作符,并通过实例展示了如何将这些概念转化为SQL查询语句,包括查询老师和学生姓名、特定老师的办公地点、特定系的学生学分以及特定课程高分学生等任务。
摘要由CSDN通过智能技术生成

提要:
本文章讲述我的第一次数据库实验捏

数据库网站

这节课主要是一些关系代数的内容,有点牛
这里面就是一堆表,这节课的主要内容也就是关系代数和这么表达这些表里的各个数据的关系
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关系代数

关系代数 π

我看来类似于select name from student;
在这里插入图片描述

关系代数 ρ

类似于as
在这里插入图片描述
以上代码也就表示student as b,也就是用b来代替student表示了

关系代数⨯

这个符号就相当于笛卡尔积,这样看来这个数据库的查询还是挺不简单的,查询一个字段时,把两个表像这样弄着就相当于在这两个表的笛卡尔积里查询了。
在这里插入图片描述
在这里插入图片描述

关系代数 σ

在我看来类似于where
在这里插入图片描述
在这里插入图片描述

关系代数 -

差集,关键词except

[SQL语句 1]
Except
[SQL语句 2];

关系代数 ∪

并集,关键词union

[SQL语句 1]
UNION
[SQL语句 2];

关系代数 ∩

交集,关键词intersect

[SQL语句 1]
InterSect
[SQL语句 2];

实验内容:

相对而言实验的内容也逐渐清晰了
离谱捏,关系代数的写法好怪,动不动就要加空格

查询所有老师和学生的姓名

查询老师名字

select name from instructor;
//
π name instructor

查询学生名字

select name from student;
//
π name student

查询Kim老师办公地点

select b.building from department as b,instructor as a where a.name='Kim' and a.dept_name = b.dept_name;
//
π b.building (σ a.name = 'Kim' and a.dept_name = b.dept_name ((ρ a instructor )(ρ b department)))

查询CS系学生的学分情况

select t.tot_cred from student as t where t.dept_name ='Comp. Sci.';
//
π t.tot_cred ( σ t.dept_name = 'Comp. Sci.' ρ t student )

查询课程database成绩在90分以上的等级为A的学生信息

select s.* from student as s, course as c, takes as t where c.title='Database System Concepts' and s.dept_name = c.dept_name and  c.course_id = t.course_id and t.grade = 'A';
//
π s.ID,s.name,s.dept_name,s.tot_cred σ c.title = 'Database System Concepts' and s.dept_name = c.dept_name and c.course_id = t.course_id and t.grade = 'A' (ρ s student ⨯ ρ c course ⨯ ρ t takes)

查询没有选修任何课程的学生信息

我的

select s.* from student as s
except 
select s.* from student as s,takes as t where s.ID = t.ID;

答案的,但是答案的sql语句想不通捏

π b.ID,b.name,b.dept_name,b.tot_cred σ a.ID=b.ID ((ρ a ((π ID 
student) - (π ID takes)))(ρ b (student)))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泉绮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值