![img_2ea159161269a9a95e2aae120d7c9ec7.png](https://yqfile.alicdn.com/img_2ea159161269a9a95e2aae120d7c9ec7.png?x-oss-process=image/resize,w_1400/format,webp)
数据操作
![img_edf6d200688ea638bb98ad8601284fe5.jpe](https://yqfile.alicdn.com/img_edf6d200688ea638bb98ad8601284fe5.jpeg?x-oss-process=image/resize,w_1400/format,webp)
二目运算
1)并 RUS
R U S={t|t∈R v t∈S}
![img_ac115c6ae5d5b1501b0cafdba56b3f9c.png](https://yqfile.alicdn.com/img_ac115c6ae5d5b1501b0cafdba56b3f9c.png?x-oss-process=image/resize,w_1400/format,webp)
2)差:R-S
R-S={t|t∈R v t∉ S}
![img_01c73dfb394f249674224f1bb08c2212.png](https://yqfile.alicdn.com/img_01c73dfb394f249674224f1bb08c2212.png?x-oss-process=image/resize,w_1400/format,webp)
3)交: R ∩ S
R ∩ S={t|t∈R^t∈S}
![img_cc2339dbba18c0a32d8f800264601cef.png](https://yqfile.alicdn.com/img_cc2339dbba18c0a32d8f800264601cef.png?x-oss-process=image/resize,w_1400/format,webp)
3)笛卡儿积
![img_5664adf0f28349a68f6499db1d8a9b72.png](https://yqfile.alicdn.com/img_5664adf0f28349a68f6499db1d8a9b72.png?x-oss-process=image/resize,w_1400/format,webp)
关系运算
1)投影
从关系R中选择出若干属性列组成新的关系(垂直分割,消除列),去除重复元组
例:下图表示 从Student中查询学生的姓名和所在地。2、5代表Sname和Sdept所处下标
![img_06a60d6f4a529b01e29b6aa37c7f2203.jpe](https://yqfile.alicdn.com/img_06a60d6f4a529b01e29b6aa37c7f2203.jpeg?x-oss-process=image/resize,w_1400/format,webp)
2)选择
选择操作所在关系R中满足给定条件的所有元组
从Student中查询IS系的学生 5 代表第五列
![img_982f3ab617ffc1e5241dd99596e0fb06.jpe](https://yqfile.alicdn.com/img_982f3ab617ffc1e5241dd99596e0fb06.jpeg?x-oss-process=image/resize,w_1400/format,webp)
3)连接
从两个关系的笛卡尔积中选择满足一定条件的元组
![img_84d8596d3f7d86c3f83025e7f5900852.jpe](https://yqfile.alicdn.com/img_84d8596d3f7d86c3f83025e7f5900852.jpeg?x-oss-process=image/resize,w_1400/format,webp)
1)一般连接
R和S的广义笛卡儿积中C<E的
![img_dc9ef56ed26ee20ffbd3b924ddc8eb9f.jpe](https://yqfile.alicdn.com/img_dc9ef56ed26ee20ffbd3b924ddc8eb9f.jpeg?x-oss-process=image/resize,w_1400/format,webp)
2)等值连接
从R与S的广义笛卡儿积中选取A B 相同的元组
![img_5ba93c6d10df131d7972232e02ce56bb.jpe](https://yqfile.alicdn.com/img_5ba93c6d10df131d7972232e02ce56bb.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![img_016e231b6f8538f11df97547b2b639ed.jpe](https://yqfile.alicdn.com/img_016e231b6f8538f11df97547b2b639ed.jpeg?x-oss-process=image/resize,w_1400/format,webp)
3)自然连接
特殊的等值连接(比较的必须是相同属性值、去掉其中一个相同列)
4)外连接
R与S进行自然连接时,舍弃的元组处填NULL
5)左外连接
R与S进行自然连接时,把左边关系中R要舍弃的保留下来
S中为NULL的元组不清除,清除R为NULL
6)右外连接
与上面相反,舍左留右
R为NULL的元组不清除,清除S中为NULL的元组
![img_f6ab8135132859a3cc796e78672e334b.jpe](https://yqfile.alicdn.com/img_f6ab8135132859a3cc796e78672e334b.jpeg?x-oss-process=image/resize,w_1400/format,webp)
7)除
R的B与S的B 、R的C与S的C需来自同一个域
![img_8121f090b4e63814e38e8e4993144a82.jpe](https://yqfile.alicdn.com/img_8121f090b4e63814e38e8e4993144a82.jpeg?x-oss-process=image/resize,w_1400/format,webp)
基本表
独立存在,一个关系对应一个基本表,一个或多个基本表对应一个存储文件
1)定义基本表
CREATE TABLE <表名>
(<列名>{,<列名>|<表约束>})
![img_ba98a79a3d38d05f13e445e97adedd2b.jpe](https://yqfile.alicdn.com/img_ba98a79a3d38d05f13e445e97adedd2b.jpeg?x-oss-process=image/resize,w_1400/format,webp)
2)修改基本表
ALTER TABLE <表名>
[ADD <新列名> <数据类型>[完整性约束]]:增加新列和新的完整性约束条件
[ALTER COLUMN <列名><数据类型>]:
修改列
[DROP <COLUMN 列名>|<完整性约束名>]:删除指定列或完整性约束条件
例:ALTER TABLE S ADD CLASS_NO CHAR(6)
为表s添加属性CLASS_NO ,类型为char,长度为6
3)删除表
DROP TABLE<表名> drop table s 数据删除,视图仍在,但无用
视图
一个虚拟表,从一个或多个基本表导出,存放视图定义,随基本表改变
1)定义视图
CREATE VIEW<视图名>[(<列名>[,<列名>]......)]
AS
<子查询>
[with check option]
例:CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage FROM Student
where Sdept='IS' With CheckOption
创建视图IS_Student,数据来源:Student表的IS 系 的学生的Sno ,Sname, Sage信息
2)删除视图
DROP VIEW <视图名> DROP VIEW S
数据查询 SELECT
![img_2c43aabc699e0753709334123ed11f93.jpe](https://yqfile.alicdn.com/img_2c43aabc699e0753709334123ed11f93.jpeg?x-oss-process=image/resize,w_1400/format,webp)
3 按照 SELECT语句指定列,得到投影结果集
2 从FROM子句指定的基本表或视图中,3
SELECT Sno,Sname,Age FROM Student
1 根据WHERE子句的检索条件,2,选取满足条件元祖,3
SELECT Sno,Cno,Score FROM SC WHERE Score>85
WHERE Tname LIKE '__力%' 查询姓名中第二个汉字是“力”的
WHERE Cno IN ('c1','c2') 查询Cno是c1和c2其中一个的
GROUP 将查询结果按照<列名1>相同的值进行分组;后加HAVING,只输出满足其条件的元组
ORDER 查询结果还按<列名>的值排序
连接查询
1)行连接
2)关键字JOIN连接
![img_b55cc33d54838029a5a8b23b9c132f2d.jpe](https://yqfile.alicdn.com/img_b55cc33d54838029a5a8b23b9c132f2d.jpeg?x-oss-process=image/resize,w_1400/format,webp)
嵌套查询
![img_7859ec381ed06c18c405dd5f1ca3a6c1.jpe](https://yqfile.alicdn.com/img_7859ec381ed06c18c405dd5f1ca3a6c1.jpeg?x-oss-process=image/resize,w_1400/format,webp)
例:
SELECT 部门, AVG(应发工资) AS平均工资 FROM 工资表 GROUP BY 部门 HAVING COUNT(姓名)>2
AVG(应发工资) AS平均工资 计算应发工资的平均值并将及返回给平均工资
查询人数大于二的部门和部门员工的应发工资的平均工资