SQL实验三--数据的更新操作和视图-实验报告
实验三SQL查询与更新实验(SQL3学时)

实验三SQL查询与更新实验(SQL3学时)实验三 SQL查询与更新实验(SQL 3学时)§3.1实验目的与要求(1)熟悉SQL DML语言,能够完成基本的表操作;(2)掌握SELECT语句进行单表查询的方法;(3)掌握SELECT语句进行多表连接查询的方法;(4)了解嵌套查询的方法;(5)了解外连接查询的方法;(6)了解集合函数的使用方法;(7)了解表更新操作的使用方法。
§3.2 实验系统及软件要求:1、WindowsXP操作系统;2、SQL SERVER 2005中文版软件;§3.3 实验内容§3.3.1简单SELECT语句1. SELECT的语法格式SELECT 语句的基本语法格式如下:SELECT <字段列表>[INTO 新表名]FROM <表名/视图名列表>[WHERE 条件表达式][GROUP BY 列名列表] [HAVING 条件表达式][ORDER BY列名1[ASC|DESC],列名2 [ASC|DESC],...,列名n[ASC|DESC]][COMPUTE 行聚合函数名(统计表达式)[ ,…n] [BY 分类表达式[,…n]]]其中各子名说明如下:(1)字段列表用于指出要查询的字段,也就是查询结果中包含的字段的名称。
(2)INTO子句用于创建一个新表,并将查询结果保存到这个新表中。
(3)FROM子句用于指出所要进行查询的数据来源,即来源于哪些表或视图的名称。
(4)WHERE子句用于指出查询数据时要满足的检索条件。
(5)GROUP BY子句用于对查询结果分组。
(6)ORDER BY子句用于对查询结果排序。
SELECT语句的功能如下:从FROM列出的数据源表中,找出满足WHERE检索条件的记录,按SELECT子句的字段列表输出查询结果表,在查询结果表中可进行分组与排序。
说明:在SELECT语句中SELECT子句与FROM子句是不可少的,其余的是可选的。
SQL实验报告三

实验三视图、索引及数据更新一、实验目的:熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用,熟练掌握数据插入、修改和删除的使用,为后继学习作准备。
二、实验属性验证性三、实验要求1.预习教材第三章,熟悉SQL语句。
2.熟悉SQL Server环境。
3.掌握建立索引的两种方法,即在基本表中建立和用命令方式建立。
4.掌握删除索引的方法。
5.掌握sql视图建立、修改和删除;6.掌握sql视图查询。
7.掌握sql数据插入、修改和删除语句的一般格式及使用方法。
四、实验原理SQL语言应用。
五、实验步骤:1 建立索引例3.1为学生选课数据库中的Students,Courses,Reports三个表建立索引。
其中Students 表按Sno(学号)升序建唯一索引,Courses表按Cno(课程号)升序建唯一索引,Reports表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。
命令:CREA TE UNIQUE INDEX Stusno ON Student(Sno);CREA TE UNIQUE INDEX Coucno ON Course(Cno);CREA TE UNIQUE INDEX SCno ON SC(SnoASC,Cno DESC);例 3.2 在基本表Students的Sname(姓名)和Sno(学号)列上建立一个聚簇索引,而且Students中的物理记录将按照Sname值和Sno值的升序存放。
命令:CREA TE CLUSTERED INDEX Stu_snamesno ON Student(Sname,Sno);2删除索引例3.3删除基本表Reports上的索引。
命令:DROP INDEX SC.SCno3 建立视图例3.4建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。
命令:CREA TE VIEW Smath AS SELECT Sno,Sname,Sage,Sdept FROM Student WHERE Sdept='数学'例3.5建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。
实验3 数据更新与视图

实验三数据更新与视图一、实验目的1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
二、实验内容1.在实验一创建的数据库STUDENT中使用SQL语句完成以下操作(4)将(101131,路前元,男,1993-11-8,网络工程)插入学生关系。
SQl语句:insert into Svalues('101131','路前元','男','1993-11-8','网络工程',null)select *from S(6)创建视图JSJ_VIEW,包括计算机专业学生的学号,姓名,其选修的课程名及成绩属性列。
SQL语句:create view JSJ_VIEWasselect S.Sno,Sname,Cname,Gradefrom S,C,SCwhere S.Sno=SC.Sno and Major='计算机'select *from JSJ_VIEW(7)创建查询每个学生的修课学分的视图XF_VIEW,要求列出学生学号及总学分。
SQL语句:create view XF_VIEWasselect Sno,SUM(Credit)from S,Cgroup by Snoselect *from XF_VIEW2.在实验二创建的Project数据库中使用SQL语句完成以下操作:(1)现有一供应商,代码为S9、姓名为英特尔、所在城市西安,供应情况如下:供应零件P5给工程J7数量为600,供应零件P4给工程J4数量为500,请将此供应商的信息和供应信息插入数据库.SQl语句:insertinto s (sno, Sname ,city)values('s9','英特尔','西安')insertinto SPJ(sno,Pno,Jno,QTY) values('s9','p5','j7',600)insertinto SPJ(sno,Pno,Jno,QTY) values('s9','p4','j4',500)(7)创建零件名为螺丝刀的供应情况的视图P_ls,包括供应商名(Sname),零件名(Pname),零件重量(Weight),工程项目代码(Jno),供应数量(QTY)。
SQL实验三数据的更新操作和视图实验报告

实验三数据的更新操作和视图本实验需要2学时。
一、实验目的1、掌握视图的创建、修改和删除操作。
2、掌握数据库数据更新(增加、修改、删除)操作。
二、实验内容和步骤1、视图(1)建立名为UV_SC的视图。
该视图可以让我们看到每个学生的姓名、选修课程名和成绩。
(2)利用UV_SC视图,查看平均成绩在80分以上的学生姓名。
(3)建立名为UV_Course的视图,该视图显示每门课的课程名和选修该课程的学生人数。
(4)修改视图UV_Course,在视图中增加一列,显示选修该课程所有学生的平均成绩。
(5)建立名为UV_IS_Depart的视图。
该视图可以用来查看“信息系”的学生的学号、姓名、年龄和系名。
并保证对该视图的修改满足系名为信息系的条件。
(6)建立名为UV_Student的加密视图。
该视图可以用来查看每个学生选修的课程门数和平均成绩。
(7)利用UV_Student视图,查询平均成绩在80分以上的学生学号。
(8)能否利用视图UV_Student,修改某个学生的平均成绩?(9)删除视图UV_Student。
2、数据更新(1)向STUDENT表增加如下记录:(2)将学号'95011',成绩80,以及课程表中的所有课程号插入到SC表中。
(3)建立与表STUDENT同结构的空表STUD。
然后利用INSERT命令把表STUDENT中年龄大于19的学生记录添加到表STUD。
(注意:可以使用select into语句实现同结构空表的创建,再使用insert命令插入记录;或者使用单条select into语句实现等同的功能)(4)为“95002”的学生增加选修“操作系统”和“数据结构”这两门课的选课记录。
(5)把课程名为“操作系统”的成绩从成绩表SC中删除。
(试用三种方式完成)(6)将女生的成绩提高10%。
(试用三种方式完成)(7)如果学生“张三”的数据结构的成绩低于65,则加上10分。
(8)将成绩最低的学生的成绩加上10分。
数据更新与视图操作实验报告

where shopaddress='北京'
WITH CHECK OPTION
③基于多个基本表的视图创建。
例:创建北京地区所有商店的销售记录视图V3。
create view v3(shopno,prono,amount,shopaddress)
as
select sale.shopno,prono,amount,shopaddress
prono ='p01'
基于分组视图的查询。
例:查询平均销售量大于100的商店名和平均销售量。
select amountavg,shopname
from v5
where amountavg>100
(3)更新视图
①视图上插入数据。
例:向视图V1中插入新商店(s05,农工商,北京)的信息。
例:向视图V1中插入新商店(s06,家乐福,上海)的信息。
from shop,sale
where shopaddress='北京'and
shop.shopno=sale.shopno
④基于视图的视图创建。
例:创建北京地区、销售量大于100的销售记录视图V4。
create view v4
as
select shopno,prono,amount shopadress
2.修改数据
(1)修改一行数据
例:将商店s02的商店名改为红五星。
(2)修改多行数据
例:将所有商品的价格增加100元。
3.删除数据
(1)删除一行数据
例:删除s05商店的基本信息。
(2)删除多行数据
例:删除苏果商店的所有销售记录。
实验三 数据更新实验报告

湖南第一师范学院信息科学与工程系实验报告课程名称:数据库技术与应用成绩评定:实验项目名称:实验三:数据更新指导教师:洪伟学生姓名:沈丽桃学号:10403080118 专业班级: 10教育1班实验项目类型:设计实验地点:科B201 实验时间:2012年 5 月 8 日一、实验目的与要求:1、掌握向表中插入数据;2、掌握修改表中的数据;3、掌握删除表中的数据;4、掌握创建视图、删除视图、查询视图与更新视图。
二、实验环境:(硬件环境、软件环境)1.硬件环境:奔ⅣPC。
2.软件环境:Windows2000 操作系统,SQL Server 2000。
三、实验内容:(原理、操作步骤、程序代码等)任务:对上次实验所建立的SC数据库,完成以下任务:1、将书上所列例题全部验证一遍;P115-1242、在SC数据库上完成以下操作:1)求每一个学生的平均成绩,并把结果存入数据库中;2)将所有女生的数据库成绩置0;3)删除20岁以上学生的数据结构的选课记录;4)创建一个课程及其平均成绩的视图;5)删除上题中创建的视图。
6)建立男学生的视图schoolboy,属性包括学号、姓名和年龄。
7)在视图schoolboy中查询年龄为19的学生学号与姓名。
8)将学号为002的年龄改为21。
9)向男学生视图schoolboy中插入一个新的男生记录,其中学号为S6,姓名为MING,年龄为20。
10) 删除视图schoolboy中学号为003的记录。
11) 建立女学生的视图,属性包括学号、姓名、选修课程名和成绩。
12) 在女学生视图中查询平均成绩大于80分的学生学号与姓名。
13)删除女学生视图。
具体操作步骤及程序代码为:1.create table sno_grade(sno char(10)avg_grade smallint);第2 行: 'avg_grade' 附近有语法错误。
(列与列之间应该用逗号格开)修改为:create table sno_grade(sno char(10),avg_grade smallint);Insertinto sno_grade(sno,avg_grade)select sno,avg(grade)from scgroup by sno;2.update scset grade=0where sno in(select snofrom swhere s.ssex='女' and cno in(select cnofrom cwhere ame='数据库'));3. deletefrom scwhere sno in(select snofrom swhere sc.sno=s.sno and s.sage>20 and cno in(select cno from cwhere o=o and ame='数据结构'));4. create view c_avggradeasselect ame,avg(grade) avg_gradefrom c,scwhere o=ogroup by ame5. drop view c_avggrade6. create view schoolboyasselect sno,sname,sagefrom swhere ssex='男'7. select schoolboy.sno,snamefrom schoolboywhere schoolboy.sage='19'8. update schoolboySet sage=’21’where sn=’002’9. insertinto schoolboyvalues('S6','MING','20');10. deletefrom schoolboywhere sno='003';11. create view schoolgirlasselect s.sno,s.sname,ame,sc.gradefrom s,c,scwhere s.sno=sc.sno and o=o and s.ssex='女'12. select schoolgirl.sno,sname,avg(grade)from schoolgirlgroup by schoolgirl.sno,snamehaving avg(grade)>80;13. drop viw schoolgirl四、实验体会(实验中碰到的问题及解决方法等)在试验验证过程中,发现教材P116例4有错误,列名Sdept与Avg_age之间少了逗号。
实验三 数据库中的数据查询及视图操作实验报告

实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。
通过本实验,我们可以掌握使用SQL语句进行数据查询和创建视图的方法,进一步提高对数据库的操作能力。
二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统下进行实验。
三、实验内容本实验主要包括以下内容:1. 数据查询:使用SELECT语句查询数据库中的数据,并进行排序、过滤和聚合操作。
2. 视图操作:创建和删除视图,以及对视图进行查询和更新操作。
四、实验步骤与结果1. 数据查询首先,我们需要连接到数据库,并选择要查询的表。
假设我们选择的表名为"students",包含以下字段:学号、姓名、性别、年龄、班级。
a. 查询所有学生的信息:```sqlSELECT * FROM students;```执行以上SQL语句后,我们可以得到所有学生的信息,包括学号、姓名、性别、年龄和班级。
b. 查询男生的信息:```sqlSELECT * FROM students WHERE 性别 = '男';```执行以上SQL语句后,我们可以得到所有性别为男的学生的信息。
c. 查询年龄小于20岁的学生的姓名和班级:```sqlSELECT 姓名, 班级 FROM students WHERE 年龄 < 20;```执行以上SQL语句后,我们可以得到年龄小于20岁的学生的姓名和班级。
d. 查询学生按照年龄降序排列的结果:```sqlSELECT * FROM students ORDER BY 年龄 DESC;```执行以上SQL语句后,我们可以得到按照年龄降序排列的学生信息。
e. 查询学生按照班级分组,并统计每个班级的人数:```sqlSELECT 班级, COUNT(*) AS 人数 FROM students GROUP BY 班级;```执行以上SQL语句后,我们可以得到每个班级的人数统计结果。
实验3SQL语言—更新操作、视图、索引等操作

实验3SQL语⾔—更新操作、视图、索引等操作实验3 SQL语⾔—更新操作、视图、索引等操作实验⽬的要求熟悉数据库的数据更新操作,能够使⽤SQL语句对数据库进⾏数据的插⼊、修改、删除操作。
熟悉SQL语⾔有关视图的操作,能够熟练使⽤SQL语句来创建需要的视图,定义数据库外模式,并能使⽤所创建的视图实现数据管理。
掌握索引设计原则和技巧,能够创建合适的索引以提⾼数据库查询。
实验主要内容针对SQL Server数据库设计单元组插⼊、批量数据插⼊、修改数据和删除数据等SQL语句。
理解和掌握INSERT、UPDATE和DELETE语法结构的各个组成成分,结合嵌套SQL⼦查询,分别设计⼏种不同形式的插⼊、修改和删除数据的语句,并调试成功。
针对给定的数据库模式,以及相应的应⽤需求,创建视图、创建带WITH CHECK OPTION的视图,并验证视图WITH CHECK OPTION选项的有效性。
理解和掌握视图消解执⾏原理,掌握可更新视图和不可更新视图的区别针对给定的数据库模式和具体应⽤需求,创建唯⼀索引、函数索引、复合索引等;修改索引;删除索引。
设计相应的SQL查询验证索引有效性。
实验仪器设备学⽣每个⼀台PC已安装SQL Server环境实验记录# 数据更新操作单元组插⼊--向图书表中插⼊⼀条单元组数据('B6','信息论','28.2')INSERTINTO 图书(BNO,BNAME,PRICE)VALUES('B6','信息论','28.2');批量数据插⼊--⼦查询嵌套在INSERT语句中⽤以插⼊批量数据CREATE TABLE LNTE(LNO NCHAR(10) PRIMARY KEY,TEL INT); --创建⼀个新的LNAME-TEL表--从图书馆表中选择LNO和TEL两列数据批量插⼊新建表LNTE中INSERTINTO LNTESELECT LNO,TELFROM 图书馆修改数据UPDATE 图书SET BNAME=⼤学英语WHERE BNO='B5'; --将图书表中的操作系统改为⼤学英语--带⼦查询的修改语句可以实现批量修改数据UPDATE SCSET GRADE=0WHERE Sno IN(SELECT SnoFROM StudentWHERE Sdept='CS');删除数据--删除⼀个元组的值DELETEFROM 图书WHERE BNAME='系统分析与设计';--删除多个元组DELETFROM 图书 --这条语句将删除整个图书表--带⼦查询的删除语句DELETFROM 图书WHERE BNO IN(SELECT BNOFROM 图书发⾏WHERE QTY=10);# 视图创建视图CREAT VIEW IS_BKASSELECT BNO,BNAME,PRICEFROM 图书WHERE PRICE>10;带WITH CHECK OPTION的视图CREAT VIEW IS_BKASSELECT BNO,BNAME,PRICEFROM 图书WHERE PRICE>10;WITH CHECK OPTION;视图消解执⾏原理把对视图的查询转化为对基本表的查询称为视图的消解(View Resolution).SELECT S#,SA FROM IS_S WHERE SA <20消解为:SELECT S# ,SA FROM S WHERE SD='IS' AND SA 90SELECT S# ,SA FROM S WHERE SD='IS' AND SA 90消解为:对:SELECT S#, AVG(GR) FROM SC GROUP BY S# HAVING AVG(GR)>90可更新视图和不可更新视图的区别⼀般地⾏列⼦视图是可更新的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL实验三--数据的更新操作和视图-实验报告实验三数据的更新操作和视图本实验需要2学时。
一、实验目的1、掌握视图的创建、修改和删除操作。
2、掌握数据库数据更新(增加、修改、删除)操作。
二、实验内容和步骤1、视图(1)建立名为UV_SC的视图。
该视图可以让我们看到每个学生的姓名、选修课程名和成绩。
(2)利用UV_SC视图,查看平均成绩在80分以上的学生姓名。
(3)建立名为UV_Course的视图,该视图显示每门课的课程名和选修该课程的学生人数。
(4)修改视图UV_Course,在视图中增加一列,显示选修该课程所有学生的平均成绩。
(5)建立名为UV_IS_Depart的视图。
该视图可以用来查看“信息系”的学生的学号、姓名、年龄和系名。
并保证对该视图的修改满足系名为信息系的条件。
(6)建立名为UV_Student的加密视图。
该视图可以用来查看每个学生选修的课程门数和平均成绩。
(7)利用UV_Student视图,查询平均成绩在80分以上的学生学号。
(8)能否利用视图UV_Student,修改某个学生的平均成绩?(9)删除视图UV_Student。
2、数据更新(1)向STUDENT表增加如下记录:Sno Sname Ssex Sage Saddress Sdept95011 王一鸣男20 福州市计算机系(2)将学号’95011’,成绩80,以及课程表中的所有课程号插入到SC表中。
(3)建立与表STUDENT同结构的空表STUD。
然后利用INSERT命令把表STUDENT 中年龄大于19的学生记录添加到表STUD。
(注意:可以使用select into语句实现同结构空表的创建,再使用insert命令插入记录;或者使用单条select into语句实现等同的功能)(4)为“95002”的学生增加选修“操作系统”和“数据结构”这两门课的选课记录。
(5)把课程名为“操作系统”的成绩从成绩表SC中删除。
(试用三种方式完成)(6)将女生的成绩提高10%。
(试用三种方式完成)(7)如果学生“张三”的数据结构的成绩低于65,则加上10分。
(8)将成绩最低的学生的成绩加上10分。
(9)将前3名成绩最高的学生的成绩减去10分。
(10)为没有选课的学生自动增加选修“01”课程的选课记录。
(11)把选修“数学”不及格的成绩全部改成空值。
(12)删除成绩低于总平均成绩的女生的选课记录。
三、实验环境四、调试过程五、实验结果六、总结通过此次实验:1.我知道了视图不是一张真实的表格,是一个虚拟的存在形式。
2.掌握了对视图的创建(create or replace):当视图不存在时可使用create进行创建;而如果不确定视图是否已存在,但此时又需要建立一张此名称的视图时,可使用replace创建,如果视图名已存在也不会出现冲突,而是进行替换。
3.在创建视图时如果使用了with check option表示在视图上执行UPDATE INSERT或DELETE操作时,要保证所修改的行满足视图定义中的谓词条件,即SELECT查询子句中的限定条件:如Where条件,这样可以确保数据修改后仍可通过视图看到修改的数据。
4.分清楚了对视图结构的修改(alter)、对视图数据的修改(update)。
同时对视图上的计算列、内置函数列和行集合函数列不能修改。
5.知道了对视图数据的删除操作(delete)。
6.通过第二题的训练也使我对数据库数据的更新语句有了更多的体会和认识。
7.第二题第五小题,要求三种方法,只写出了两种,第三种有点没辙。
而其他题目有的没要求,因为在思考过程有别的思路,也有多写了相关方法。
附录:--1、视图--(1)建立名为UV_SC的视图。
该视图可以让我们看到每个学生的姓名、选修课程名和成绩。
create view UV_SCasselect sname,cname,gradefrom student s,course c,scwhere s.sno=sc.sno and o=oselect*from UV_SC--(2)利用UV_SC视图,查看平均成绩在分以上的学生姓名。
select snamefrom UV_SCgroup by snamehaving avg(grade)>80--(3)建立名为UV_Course的视图,该视图显示每门课的课程名和选修该课程的学生人数。
create view UV_Courseasselect cname,count(*)as'选修人数'from course c,scwhere o=ogroup by cnameselect*from UV_Course--(4)修改视图UV_Course,在视图中增加一列,显示选修该课程所有学生的平均成绩。
alter view UV_Courseasselect cname,count(*)as' 选修人数',avg(grade)as'平均成绩'from course c,scwhere o=ogroup by cnameselect*from UV_Course--(5)建立名为UV_IS_Depart的视图。
该视图可以用来查看“信息系”的学生的学号、姓名、年龄和系名。
并保证对该视图的修改满足系名为信息系的条件。
create view UV_IS_Departasselect sno,sname,sage,sdeptfrom student swhere sdept='信息系'with check optionselect*from UV_IS_Depart--(6)建立名为UV_Student的加密视图。
该视图可以用来查看每个学生选修的课程门数和平均成绩。
create view UV_Student(sno,course_no,avg_grade)with encryptionasselect sno,count(*),avg(grade)from scgroup by snoselect*from UV_Student--(7)利用UV_Student视图,查询平均成绩在分以上的学生学号。
select snofrom UV_Studentwhere avg_grade>=80--(8)能否利用视图UV_Student,修改某个学生的平均成绩?update UV_Studentset avg_grade=70where sno=95001--(9)删除视图UV_Student。
drop view UV_Student--2、数据更新--(1)向STUDENT表增加如下记录:--Sno Sname Ssex Sage Saddress Sdept--95011 王一鸣男20 福州市计算机系insert into student(sno,sname,ssex,sage,saddress,sdept)values('95011','王一鸣','男',20,'福州市','计算机系')alter table studentadd saddress varchar(50)null--修改表结构,增加saddress列select*from studentwhere sno='95011'--(2)将学号’’,成绩,以及课程表中的所有课程号插入到SC表中。
insert into sc(sno,cno,grade)select'95011',cno,80from courseselect*from sc--(3)建立与表STUDENT同结构的空表STUD。
然后利用INSERT命令把表STUDENT中年龄大于的学生记录添加到表STUD。
(注意:可以使用select into语句实现同结构空表的创建,再使用insert命令插入记录;或者使用单条select into语句实现等同的功能)--法一select*into STUDfrom studentwhere sage>19--法二select*into STUDfrom studentwhere 1=0insert into STUD(sno,sname,sage,ssex,sdept,saddress)select sno,sname,sage,ssex,sdept,saddressfrom studentwhere sage>19select*from STUD--(4)为“”的学生增加选修“操作系统”和“数据结构”这两门课的选课记录。
insert into sc(sno,cno,grade)select'95002',cno,nullfrom coursewhere cname='操作系统'or cname='数据结构'select*from sc--(5)把课程名为“操作系统”的成绩从成绩表SC中删除。
(试用三种方式完成)--法一delete from scwhere cno in(select cnofrom coursewhere cname='操作系统')--法二delete from scwhere exists(select cnofrom course cwhere cname='操作系统'and o=o )--法三--(6)将女生的成绩提高%。
(试用三种方式完成)--法一update scset grade=grade*1.1where sno in(select snofrom studentwhere ssex='女')--法二update scset grade=grade*1.1where exists(select snofrom student swhere ssex='女'and s.sno=sc.sno)--法三update scset grade=grade*1.1where(select count(*)from student swhere s.sno=sc.sno and ssex='女')=(select count(*)from course where cno=o)--(7)如果学生“张三”的数据结构的成绩低于,则加上分。
update scset grade=grade+10where exists(select snofrom student swhere s.sno=sc.sno and sname='张三'and cno in(select cnofrom coursewhere cname='数据结构'))--查看结果select sname,cname,gradefrom student s,course c,scwhere s.sno=sc.sno and o=o and sname='张三'and cname='数据结构'--(8)将成绩最低的学生的成绩加上分。