数据库原理及应用课件:第6章 数据操作语言1

上传人:工**** 文档编号:568599591 上传时间:2024-07-25 格式:PPT 页数:62 大小:782KB
返回 下载 相关 举报
数据库原理及应用课件:第6章 数据操作语言1_第1页
第1页 / 共62页
数据库原理及应用课件:第6章 数据操作语言1_第2页
第2页 / 共62页
数据库原理及应用课件:第6章 数据操作语言1_第3页
第3页 / 共62页
数据库原理及应用课件:第6章 数据操作语言1_第4页
第4页 / 共62页
数据库原理及应用课件:第6章 数据操作语言1_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《数据库原理及应用课件:第6章 数据操作语言1》由会员分享,可在线阅读,更多相关《数据库原理及应用课件:第6章 数据操作语言1(62页珍藏版)》请在金锄头文库上搜索。

1、数据库基础与实践技术(SQL Server 2008)第六章第第6 6章章 数据操作语言数据操作语言6.1 6.1 数据查询语句数据查询语句6.2 6.2 数据更改功能数据更改功能2查询语查询语句基本句基本结结构构SELECTSELECT - - 需要哪些列需要哪些列 FROMFROM - - 来自于哪些表来自于哪些表 WHEREWHERE - - 根据什么条件根据什么条件 GROUP BY GROUP BY HAVINGHAVING ORDER BYORDER BY 3/130课前练习v学生表S(学号sno,姓名sname,班级sclass,年龄sage,性别Sgender)v课程表C(课程

2、号cno,课程名cname,学分credit,授课教师cteacher)v选修表SC (学号sno,课程号cno,成绩score)1 1查询年龄不大于查询年龄不大于2020岁的女学岁的女学生的全部信息。生的全部信息。2 2查询周老师教授的课程名称。查询周老师教授的课程名称。3 3查询选修课程查询选修课程“数据库数据库”并并且得分在且得分在8080分以上的学生学号。分以上的学生学号。4 4查询选修了查询选修了5 5号课程的学生号课程的学生的学号和姓名。的学号和姓名。5 5查询课程查询课程“数据库数据库”的成绩,的成绩,并按学号排序。并按学号排序。6. 6. 查询每位学生的平均分。查询每位学生的平

3、均分。 6.1数据数据查询语句句6.1.1 6.1.1 查询语句基本结构查询语句基本结构 6.1.2 6.1.2 单表查询单表查询6.1.3 6.1.3 多表连接查询多表连接查询 6.1.4 6.1.4 使用使用TOPTOP限制结果集限制结果集6.1.5 6.1.5 将查询结果保存到新表中将查询结果保存到新表中5/1306.1.1查询语句基本句基本结构构SELECTSELECT - - 需要哪些列需要哪些列 FROMFROM - - 来自于哪些表来自于哪些表 WHEREWHERE - - 根据什么条件根据什么条件 GROUP BY GROUP BY HAVINGHAVING ORDER BYO

4、RDER BY 6/1306.1.2 6.1.2 单表查询单表查询1.1.选择表中若干列选择表中若干列2.2.选择表中的若干元组选择表中的若干元组3.3.对查询结果排序对查询结果排序4.4.使用聚合函数统计数据使用聚合函数统计数据5.5.对数据进行分组统计对数据进行分组统计7/1301.1.查询全部列查询全部列v如果要查询表中的全部列,可以使用两种如果要查询表中的全部列,可以使用两种方法:方法:在在 中列出所有的列名;中列出所有的列名;如果列的显示顺序与其在表中定义的顺如果列的显示顺序与其在表中定义的顺序相同,则可以简单地在序相同,则可以简单地在 中写星号中写星号“* *”。8/1302.2.

5、查询结果去掉重复行查询结果去掉重复行vSELECTSELECT语句不会自动去掉结果中的重复语句不会自动去掉结果中的重复行,如果要求结果中不出现行,必须要行,如果要求结果中不出现行,必须要明确地用明确地用DISTINCTDISTINCT指出。指出。9/1303.3.常用的常用的wherewhere查询条件查询条件查询条件谓 词比较运算符=, , =, , =, (或!=)确定范围BETWEEN AND, NOT BETWEEN AND确定集合IN, NOT IN字符匹配LIKE, NOT LIKE 空值IS NULL, IS NOT NULL多重条件AND, OR104.4.字符串匹配(字符串匹

6、配(LIKELIKE)列名列名 NOT LIKE NOT LIKE ESCAPE ESCAPE v匹配串中可包含如下通配符:匹配串中可包含如下通配符:% %(百分号):匹配(百分号):匹配0 0个或多个字符。个或多个字符。_ _(下划线):匹配一个字符。(下划线):匹配一个字符。 :匹配方括号中的任何一个字符。:匹配方括号中的任何一个字符。:不匹配方括号中的任何一个字符。:不匹配方括号中的任何一个字符。“转义字符转义字符”是任何一个有效的字符。是任何一个有效的字符。11/1305.5.涉及空值的查询涉及空值的查询v空空值不是一个确定的不是一个确定的值,所以不可以用等,所以不可以用等于或不等于来

7、比于或不等于来比较或衡量;或衡量;v空空值只能只能说是空是空值(ISNULL)或)或不是空不是空值(ISNOTNULL)。)。12/1306.6.聚合函数聚合函数vCOUNTCOUNT(* *):统计表中元组的个数。:统计表中元组的个数。vCOUNTCOUNT(DISTINCT DISTINCT ):统计列值个数:统计列值个数vSUMSUM( ):计算列值的和值(必须是数值型:计算列值的和值(必须是数值型列)。列)。vAVGAVG( ):计算列值的平均值(必须是数值:计算列值的平均值(必须是数值型列)。型列)。vMAXMAX( ):得到列值的最大值。:得到列值的最大值。vMINMIN( ):得

8、到列值的最小值。:得到列值的最小值。【说明】除【说明】除COUNTCOUNT(* *)外,其他函数在计算过程中均)外,其他函数在计算过程中均忽略忽略NULLNULL值。值。【使用】聚合函数不能出现在【使用】聚合函数不能出现在WHEREWHERE子句中。子句中。13/1307.group by7.group by子句说明子句说明 vGROUP BYGROUP BY子句中的分组依据列必须是表中子句中的分组依据列必须是表中存在的列名,存在的列名,不能使用不能使用ASAS子句指派的列别子句指派的列别名名。v带有带有GROUP BY GROUP BY 子句的子句的SELECTSELECT语句的查询语句的

9、查询列表中列表中只能出现分组依据列和统计函数只能出现分组依据列和统计函数。15/1307.group by7.group by子句说明子句说明 7.group by7.group by子句说明子句说明 v学生表S(学号sno,姓名sname,性别sex,出生日期birthdate,所在系dept)v课程表C(课程号cno,课程名cname,学分credit,授课学期semester)v选修表SC (学号sno,课程号cno,成绩grade)单表查询练习单表查询练习1.1.查询黄查询黄同学同学和郭同学的基本信息和郭同学的基本信息2.2.在在学学生生表表中中查查询询学学号号的的最最后后一一位位不不

10、是是2 2、3 3、5 5的学生信息的学生信息3.3.统计选修统计选修“JAVAJAVA”课程的人数课程的人数4.4.查询选修课程的人数查询选修课程的人数5.5.查查询询平平均均成成绩绩大大于于8080分分的的学学生生学学号号(按按平平均均成绩降序排列)成绩降序排列)6.6.查询选修以查询选修以DB_DB_开头的课程的学生学号开头的课程的学生学号和姓名和姓名7.7.查询每个系的男女生人数。查询每个系的男女生人数。单表查询练习单表查询练习8.8.按多个列分组。统计每个系的男生人数和按多个列分组。统计每个系的男生人数和女生人数以及男生的最大年龄和女生的最女生人数以及男生的最大年龄和女生的最大年龄。

11、结果按系名的升序排序。大年龄。结果按系名的升序排序。SELECT SELECT d dept, Sept, Sexex, Count(*), Count(*) as as 人数人数, , Max(datediff(year, birthdate, Max(datediff(year, birthdate, getdate() getdate() as as 最大年龄最大年龄 FROM S FROM S GROUP BY GROUP BY d dept, Sexept, Sex ORDER BY ORDER BY d deptept20/130单表查询练习单表查询练习单表查询练习单表查询练习6.

12、1.3 6.1.3 多表连接查询多表连接查询v一个查询同时涉及两个或两个以上的表,则一个查询同时涉及两个或两个以上的表,则称之为称之为连接查询连接查询。v连接查询是关系数据库中最主要的查询,主连接查询是关系数据库中最主要的查询,主要包括:要包括:内连接。内连接。外连接:左外连接、右外连接、全外连接。外连接:左外连接、右外连接、全外连接。22/130内连接与外连接示意图内连接与外连接示意图A与与B的左外的左外连接接结果:果:A+CA与与B的右外的右外连接接结果:果:B+CA与与B的的内内连接接结果:果:C23/130A与与B的全外的全外连接接结果:果:A+B+C1.内连接v同同时涉涉及及多多个个

13、表表的的查询称称为连接接查询。v连接条件(接条件(连接接谓词 )v连接字段接字段连接条件的一般格式:接条件的一般格式:v. .比比较运算符:运算符:=、=、=、!=、v. BETWEEN . AND .【注意注意】连接条件中的各接条件中的各连接字段接字段类型必型必须是可比的,但不必是相同的。是可比的,但不必是相同的。1.内连接1.内内连接接一一.等等值连接与自然接与自然连接接二二.自身自身连接接三三.非等非等值连接接四四.复合条件复合条件连接接一、等一、等值与自然与自然连接接查询1.等等值连接接v连接运算符接运算符为 = 的的连接操作接操作.=.任任何何子子句句中中引引用用表表1和和表表2中中

14、同同名名属属性性时,都都必必须加表名前加表名前缀。引用非同名属性名引用非同名属性名时可以加也可以省略表名前可以加也可以省略表名前缀。一、等一、等值与自然与自然连接接查询 【例例2】 查询每个学生及其每个学生及其选修修课程的情程的情况。况。SELECTS.*,SC.*FROMS,SCWHERES.Sno=SC.Sno;这是等值连接这是等值连接,连接条件是等连接条件是等值条件值条件SELECT*FROMSinnerjoinSConS.Sno=SC.Sno;这是等值连接这是等值连接,连接条件是等连接条件是等值条件值条件一、等一、等值与自然与自然连接接查询081102081101S表081101081

15、101SC表081101081101结果表满足则连接S.Sno=SC.Sno的条件满足?等值连接操作的执行过程:等值连接操作的执行过程:一、等一、等值与自然与自然连接接查询2.自然自然连接接v等等值连接接的的一一种种特特殊殊情情况况,把把目目标列列中中重复的属性列重复的属性列去掉。去掉。二、等二、等值与自然与自然连接接查询【例例3】 对例例2用自然用自然连接完成。接完成。 SELECT S.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM S,SC WHERE S.Sno = SC.Sno;去掉重复的一个去掉重复的一个Sno公共属性公共属性Sno上的等值条件上的

16、等值条件二、自身二、自身连接接 一个表与其自己一个表与其自己进行行连接,称接,称为表的表的自身连接自身连接。是特殊的内连接。是特殊的内连接。相互连接的表物理上为同一张表。相互连接的表物理上为同一张表。必须为两个表取别名,使之在逻辑上成必须为两个表取别名,使之在逻辑上成为两个表。为两个表。 FROM FROM 表表1 AS T1 1 AS T1 - - 在内存中生成在内存中生成“T1T1” JOIN JOIN 表表1 AS T2 1 AS T2 - - 在内存中生成在内存中生成“T2T2”必必须对属性使用属性使用别名前名前缀【例【例4 4】 查询至少被两个学生选的课程的课查询至少被两个学生选的课

17、程的课程号。程号。SELECT DISTINCT a.Cno FROM SC a JOIN SC b SELECT DISTINCT a.Cno FROM SC a JOIN SC b ON a.Cno = b.Cno AND a.Sno != b.SnoON a.Cno = b.Cno AND a.Sno != b.Sno二、自身二、自身连接接 三、非等三、非等值连接接查询连接运算符接运算符 不是不是 = 的的连接操作接操作【例例5】检索年索年龄比比张立同学小的学生姓名立同学小的学生姓名 select s1.sname from s s1 join s s2 on s1.birthdates

18、2.birthdate where s2.sname=张立立 连接接条条件不是等于件不是等于号号1.1.内连接内连接【例【例6 6】统计每个系的学生的考试平均成绩。】统计每个系的学生的考试平均成绩。SELECT Dept, SELECT Dept, AVG(grade) as AverageGrade AVG(grade) as AverageGrade FROM S JOIN SC FROM S JOIN SC ON S.Sno = SC.Sno ON S.Sno = SC.Sno GROUP BY Dept GROUP BY Dept35/130多表连接查询进行分组多表连接查询进行分组2

19、2. .外连接外连接v外外连连接接会会返返回回FROMFROM子子句句中中提提到到的的至至少少一一个个表表的的所所有有行行,只只要要这这些些行行符符合合任任何何WHEREWHERE或或HAVINGHAVING搜索条件。搜索条件。 v左外连接左外连接FROM FROM 表表1 1 LEFTLEFT OUTER JOIN OUTER JOIN 表表2 ON 2 ON v右外连接右外连接 FROM FROM 表表1 1 RIGHTRIGHT OUTER JOIN OUTER JOIN 表表2 ON 2 ON v全外连接全外连接FROM FROM 表表1 1 FULLFULL OUTER JOINOU

20、TER JOIN 表表2 ON 2 ON 36/1302 2. .外连接外连接【例【例7 7】 查询没人选的课程的课程名。查询没人选的课程的课程名。 SELECT Cname SELECT Cname FROM C FROM C LEFT JOIN LEFT JOIN SC SC ON C.Cno = SC.Cno ON C.Cno = SC.Cno WHERE WHERE SC.Cno IS NULLSC.Cno IS NULL37/1302 2. .外连接外连接【例【例8 8】查询计算机系没有选课的学生,】查询计算机系没有选课的学生,列出学生姓名和性别。列出学生姓名和性别。SELECT S

21、name,Dept,Cno,gradeSELECT Sname,Dept,Cno,grade FROM S FROM S LEFT JOIN LEFT JOIN SC SC ON S.Sno = SC.Sno ON S.Sno = SC.Sno WHERE Dept = WHERE Dept = 计算机系计算机系 AND SC.Sno IS NULL AND SC.Sno IS NULL38/1302 2. .外连接外连接【例【例9 9】 统计计算机系每个学生的选课门数,统计计算机系每个学生的选课门数,包括没有选课的学生。包括没有选课的学生。SELECT S.Sno AS SELECT S.S

22、no AS 学号学号, , COUNT(COUNT(SC.CnoSC.Cno) AS ) AS 选课门数选课门数 FROM S FROM S LEFT JOIN LEFT JOIN SC SC ON S.Sno = SC.Sno ON S.Sno = SC.Sno WHERE Dept = WHERE Dept = 计算机系计算机系 GROUP BY GROUP BY S.SnoS.Sno39/1302 2. .外连接外连接select * from T1 full join T2 on select * from T1 full join T2 on T1.T1_C11 = T2.T2_C1

23、1T1.T1_C11 = T2.T2_C1140/1309.9.查询选修课程查询选修课程“JAVAJAVA”并且得分在并且得分在8080分以上的学生学号。分以上的学生学号。10.10.查询选修了查询选修了C005C005号课程的学生的学号号课程的学生的学号和姓名。和姓名。11.11.查询选修课程查询选修课程“数据结构数据结构”的成绩,的成绩,并按学号排序。并按学号排序。连接查询练习连接查询练习6.1.4 6.1.4 使用使用TOPTOP限制结果集行数限制结果集行数TOP (expression) percent WITH TIES TOP (expression) percent WITH T

24、IES vexpression expression :指定返回行数的数值表达式。:指定返回行数的数值表达式。vTOP n percnetTOP n percnet:取查询结果的前:取查询结果的前n%n%行。行。vWITH TIESWITH TIES:包括并列的结果包括并列的结果。【说明】【说明】1.1.TOPTOP谓词写在选择列之前,谓词写在选择列之前,distinctdistinct之后。之后。2.2.如果使用了如果使用了WITH TIESWITH TIES谓词,则要求必须使用谓词,则要求必须使用ORDER ORDER BYBY子句对查询结果进行排序。子句对查询结果进行排序。42/130示

25、例示例【例【例1010】查询考试成绩最高的三个成绩,】查询考试成绩最高的三个成绩,列出学号、课程号和成绩。列出学号、课程号和成绩。SELECT TOP 3 Sno, Cno, Grade SELECT TOP 3 Sno, Cno, Grade FROM SCFROM SCORDER BY Grade DESCORDER BY Grade DESC43/130示例示例【例【例1111】 查询选课人数最少的两门课程查询选课人数最少的两门课程(不包括没有人选的课程),列出课程号(不包括没有人选的课程),列出课程号和选课人数。和选课人数。SELECT SELECT TOP 2 WITH TIES T

26、OP 2 WITH TIES Cno, COUNT(Cno, COUNT(* *) ) 选课人数选课人数 FROM SC FROM SC GROUP BY Cno GROUP BY Cno ORDER BY COUNT(Cno) ASC ORDER BY COUNT(Cno) ASC44/130示例示例【例【例1212】 查询计算机系选课门数超过查询计算机系选课门数超过2 2门的学生中,门的学生中,考试平均成绩最高的前考试平均成绩最高的前2 2名(包括并列的情况)学名(包括并列的情况)学生的学号、选课门数和平均成绩。生的学号、选课门数和平均成绩。 SELECT SELECT TOP 2 WIT

27、H TIES TOP 2 WITH TIES S.Sno, S.Sno, COUNT(*) COUNT(*) 选课门数选课门数,AVG(Grade) ,AVG(Grade) 平均成绩平均成绩 FROM S JOIN SC ON S.Sno = SC.Sno FROM S JOIN SC ON S.Sno = SC.Sno WHERE Dept = WHERE Dept = 计算机系计算机系 GROUP BY S.sno GROUP BY S.sno HAVING COUNT(*) 2 HAVING COUNT(*) 2 ORDER BY AVG(Grade) DESC ORDER BY AVG

28、(Grade) DESC45/1306.1.5 6.1.5 将查询结果保存到新表中将查询结果保存到新表中SELECT SELECT 查询列表序列查询列表序列 INTO INTO FROM FROM 数据源数据源 46/130【说明】根据查询列表序列的内容【说明】根据查询列表序列的内容创建一个新表,创建一个新表,并将并将查询的结果按列对应顺序保存到该新表中。查询的结果按列对应顺序保存到该新表中。局部临时表和全局临时表局部临时表和全局临时表47/1301.1.在表名前面加在表名前面加“# #”或或“#”符号,表示创建符号,表示创建的表是临时表。的表是临时表。2.2.临时表的生命周期较短,当用户断开

29、与该数据临时表的生命周期较短,当用户断开与该数据库的连接时,服务器会自动删除它们。库的连接时,服务器会自动删除它们。3.#3.#表示创建的是本地临时表表示创建的是本地临时表 ,只能由创建者用。,只能由创建者用。4.#4.#表示创建的是全局临时表,所有用户都能用。表示创建的是全局临时表,所有用户都能用。5.5.临时表创建完成后均放在临时表创建完成后均放在tempdbtempdb系统数据库。系统数据库。示例示例【例【例1 13 3】将计算机系的学生信息保存到】将计算机系的学生信息保存到#ComputerStudent#ComputerStudent局部临时表中。局部临时表中。SELECT Sno,

30、 Sname, Sex, birthdateSELECT Sno, Sname, Sex, birthdate,dept dept INTO #ComputerStudent INTO #ComputerStudent FROM S FROM S WHERE Dept = WHERE Dept = 计算机系计算机系 48/130示例示例【例【例1 14 4】统计每个学期(】统计每个学期(semestersemester)开设的)开设的课程总门数,将结果保存到永久表课程总门数,将结果保存到永久表Cno_CountCno_Count表中表中SELECT Semester, COUNT(*) C_C

31、ount SELECT Semester, COUNT(*) C_Count INTO Cno_CountINTO Cno_CountFROM C GROUP BY SemesterFROM C GROUP BY Semester49/1306.2 6.2 数据更改功能数据更改功能6.2.1 6.2.1 插入数据插入数据6.2.2 6.2.2 更新数据更新数据6.2.3 6.2.3 删除数据删除数据50/1306.2.1 6.2.1 插入数据插入数据INSERT INSERT TOP ( TOP ( expressionexpression ) PERCENT ) PERCENT INTO t

32、able_or_view_name INTO table_or_view_name ( ( column_listcolumn_list ) ) VALUES ( ( DEFAULT | NULL | VALUES ( ( DEFAULT | NULL | expressionexpression ,.n ) ,.n ) ,. ,.n n ) )| SELECT statement | SELECT statement 51/130【说明说明】v值值与与列列名名按按顺顺序序对对应应,要要求求值值类类型型与与列列数据类型一致。数据类型一致。v对对语语句句中中无无值值对对应应的的列列名名赋赋NUL

33、LNULL,defaultdefault值,标识列值或计算列值。值,标识列值或计算列值。v如果没有指明列名表,则新插入记录的如果没有指明列名表,则新插入记录的值的顺序必须与表中列的顺序一致。值的顺序必须与表中列的顺序一致。v单个单个insertinsert语句最多可以插入的行数为语句最多可以插入的行数为10001000 。52/1306.2.1 6.2.1 插入数据插入数据示例示例【例例1 15 5】插入多行数据。在插入多行数据。在SCSC表中插入表中插入3 3条新条新记录,学号均为记录,学号均为“08211050821105”,选修的课程号,选修的课程号分别为分别为“C001C001”、“C

34、002C002”和和“C004C004”,成绩,成绩分别为:分别为:9090、8888和和NULLNULL。INSERT INTO SC VALUESINSERT INTO SC VALUES (0821105, C001, 90), (0821105, C001, 90), (0821105, C002, 80), (0821105, C002, 80), (0821105, C004, NULL) (0821105, C004, NULL)53/130示例示例【例例1 16 6】 将数据插入到含标识列的表中。将数据插入到含标识列的表中。(1 1)创建含标识列的表。)创建含标识列的表。CRE

35、ATE TABLE T1 (CREATE TABLE T1 ( column_1 int IDENTITY, column_1 int IDENTITY, column_2 VARCHAR(10); column_2 VARCHAR(10);(2 2)插入)插入2 2行数据。行数据。INSERT T1 VALUES (Row #1);INSERT T1 VALUES (Row #1);set indentity_insert t1 onset indentity_insert t1 onINSERT T1 VALUES (INSERT T1 VALUES (2,2,Row #2);Row #2

36、);54/130示例示例【例例1 17 7】 使用使用 SELECTSELECT语句插入数据。统计每语句插入数据。统计每门课程的平均成绩,并把统计结果保存到一个门课程的平均成绩,并把统计结果保存到一个新表中。新表中。(1 1)建新表)建新表CREATE TABLE AveGradeCREATE TABLE AveGrade( ( Cno CHAR(6), Cno CHAR(6), AvgGrade SMALLINT ) AvgGrade SMALLINT ) (2 2)插入数据)插入数据 INSERT INTO Deptage INSERT INTO Deptage SELECT Cno, A

37、VG(Grade) FROM SC SELECT Cno, AVG(Grade) FROM SC GROUP BY Cno GROUP BY Cno55/1306.2.2 6.2.2 更新数据更新数据UPDATE UPDATE TOP ( expression ) PERCENT TOP ( expression ) PERCENT table_or_view_name table_or_view_name SET SET column_name = expression | DEFAULT | column_name = expression | DEFAULT | NULL NULL ,.

38、n ,.n FROM ,.n FROM ,.n WHERE WHERE 56/130示例示例【例【例1 18 8】将】将“C001C001”号课程的学分改为号课程的学分改为5 5。UPDATE C SET Credit = 5 UPDATE C SET Credit = 5 WHERE Sno = C001 WHERE Sno = C001【例【例1 19 9】将计算机系全体学生的成绩加】将计算机系全体学生的成绩加5 5分。分。UPDATE SC SET Grade = Grade + 5UPDATE SC SET Grade = Grade + 5 FROM SC JOIN SFROM SC

39、 JOIN S ON SC.Sno = S.Sno ON SC.Sno = S.Sno WHERE Dept = WHERE Dept = 计算机系计算机系 57/130示例示例【例【例2020】将】将JavaJava课程改为第课程改为第2 2学期开设,学期开设,3 3个学分。个学分。UPDATE C SET Semester = 2, UPDATE C SET Semester = 2, Credit = 3 Credit = 3 WHERE Cname WHERE Cname likelike Java Java58/1306.2.3 6.2.3 删除数据删除数据 DELETE DELET

40、E TOP ( expression ) PERCENT TOP ( expression ) PERCENT FROM table_or_view_name FROM table_or_view_name FROM ,.n FROM ,.n WHERE WHERE 59/130基于本表条件的删除基于本表条件的删除【例【例2121】删除所有成绩为空学生的选课记录。】删除所有成绩为空学生的选课记录。DELETE FROM SC DELETE FROM SC WHERE Grade WHERE Grade is nullis null60/130示例示例【例【例2222】删除计算机系不及格学生的选

41、课记录。】删除计算机系不及格学生的选课记录。 DELETE FROM SC DELETE FROM SC FROM SC JOIN S ON SC.Sno = S.SnoFROM SC JOIN S ON SC.Sno = S.Sno WHERE Dept = WHERE Dept = 计算机系计算机系 AND Grade 60 AND Grade 60【例【例2 23 3】使用带有】使用带有TOPTOP子句的子句的DELETEDELETE。删除。删除scsc表表中中2.5%2.5%的行数据。的行数据。 DELETE TOP (2.5) PERCENT FROM DELETE TOP (2.5) PERCENT FROM scsc61/130第第6 6章章 数据操作语言数据操作语言6.1 6.1 数据查询语句数据查询语句6.2 6.2 数据更改功能数据更改功能62

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号