数据库关系模式语句与sql语句

本文深入解析SQL语句与关系模式的区别,涵盖SELECT、INSERT、UPDATE、DELETE等操作详解,以及ORDER BY、GROUP BY、HAVING等高级用法。通过实例演示如何使用SQL进行数据查询、统计和管理。

1.关系模式语句与sql语句关系(课本p70的6的题)

① 注意图中的关系模式语句,与sql语句的区别。
② Π是select,σ是where ,spj的那个括号()是from spj的意思。

例1:
在这里插入图片描述

例2:

例3:(这个例子重要!!!!!!!注意一下并列的连接词,比如from两个表,中间是逗号,比如where两个条件,中间是and)
在这里插入图片描述
例4:(这个例子重要!!!!!!!用except来求“没有”…的集合)
在这里插入图片描述
例5:
在这里插入图片描述

2.select 后面 '并’用 逗号,where后面’并’用and

3.asc升序,desc降序。(如果没有,默认升序)

例1:order by Grade desc
就是成绩降序排列

例2:order by Sdept,Grade desc
就是系名升序,然后同一系中成绩降序(系名后面没有所以是默认)

4.select count(*)是统计的意思,结果是个数字
例1:select count(distinct Sno) from Sc
选修了课程的学生人数。

例2:select count( *)from Student
学生总人数

5.select avg(Grade)from Sc where Sno=‘1’
选修了一号课程的学生的平均成绩

6.select max(Grade)from Sc where Sno=‘1’
选修了一号课程的学生的最高分

7.select sum(Grade)from Sc where Sno=‘1’
选修了一号课程的所有学生的总分

8.group by()是同类的聚合
例1:
select Cno ,Count(Sno)
from Sc
group by Cno
各个课程号及相应的选课人数

9.having count(*)那个星星只会把一行当作一个数,意思就是不同列也算为同一个,这个having count 有种if的感觉。
(where里不能用聚集函数)

例1:
select Sno
from Sc
group by Sno
having group(*)>3
选了三门以上课程的学生的学号

例2:where中不能用聚集函数,所以得用having avg()、having count这些来表示
在这里插入图片描述
10.insert
例1:
insert
into Sc(Sno,Cno)
values(‘20180101’,‘1’);
例2:
insert
into Sc
values(‘20180101’,‘1’);

11.union、intersect、except
union是并集,intersect是交集,except是差集
在这里插入图片描述
或者直接 where Con=‘1’ or Con=‘2’
在这里插入图片描述
在这里插入图片描述
这里因为是同样的Cno所以不能直接用and,得嵌套

在这里插入图片描述
在这里插入图片描述
12.update
在这里插入图片描述
13.delete
在这里插入图片描述
在这里插入图片描述

14.create view
在这里插入图片描述
在这里插入图片描述

15.第五章数据库安全性
在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值