- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理及开发 第六章 结构化查询语言-SQL 创建、修改或删除数据库中各种对象,包括表、视图、索 引等。命令动词有CREATE、DROP、ALTER。 整个SELECT语句的含义: 根据WHERE子句的筛选条件,从FROM子句指定的表中找出满足条件记录,再按SELECT语句中指定的字段次序,筛选出记录中的字段值构造一个显示结果表。 如果有GROUP BY子句,则将结果按group by后面的“字段名”的值进行分组,该字段中值相等的元组为一个组; 如果GROUP BY子句带有短语HAVING,则只有满足短语指定条件的分组才会输出。 如果有ORDER BY子句,则结果表要按照order by后面的字段名的值进行升序和降序排列。 SELECT [ALL|DISTINCT]目标列表达式实现的是对表的投影操作,WHERE 条件表达式中实现的是选择操作。 【例题6.41】查询选修了1001号课程且成绩比0801103号学生1001号课程成绩高的学生的学号、课程编号和成绩。 SELECT student_id, course_id, grade FROM score WHERE course_id=1001 AND grade(SELECT grade FROM score WHERE student_id=0801103 AND course_id=1001) 练习:查询选修了1001号课程且成绩比0801101和0801103号学生的1001号课程成绩都高的学生的学号、课程编号和成绩。 6.6.3 INSERT、DELETE和UPDATE语句中的子查询 子查询可以嵌套在INSERT、DELETE和UPDATE语句中,把子查询的结果插入到新表中或用来设置删除和修改记录的条件。 INSERT和SELECT语句结合起来,可以往指定的表中插入批量的记录。带子查询的插入操作的格式为: 1.带子查询的插入操作 INSERT [INTO] 表名[(字段1[,字段2…])] SELECT [(字段A[,字段B…])] FROM 表名 [WHERE条件表达式] 【例题6.43】创建一个新的学生表 st_info,要求:包含学号、姓名和备注三个字段,然后将student表中相应的字段值插入到表st_info中,最后显示st_info表中的记录。 CREATE TABLE st_info ( 学号char(10) PRIMARY KEY, 姓名 char(8), 备注 char(30) ) Go INSERT INTO st_info(学号,姓名,备注) SELECT student_id, student_name,resume FROM student Go SELECT * FROM st_info 2.带子查询的修改操作 子查询与UPDATE嵌套,子查询用来指定修改的条件。 【例题6.44】将08011班学生1001号课程的成绩增加5分。 UPDATE score SET grade=grade+5 WHERE student_id in (SELECT student_id FROM student WHERE class_id=08011) SELECT子句后面可以是字段名,也可以是表达式。 6.4.3 显示表达式的值 【例题6.16】查询学生表中所有女学生的姓名和年龄。 SELECT student_name , year(getdate())-year(born_date) 年龄 FROM student WHERE sex=女 SELECT子句中有一个可选项:ALL|DISTINCT,其中DISTINCT的作用就是用来消除结果集中重复的记录,内容相同的记录只显示一条。 6.4.4 消除结果集中重复的记录 【例题6.17】查询学生表学生所来自的城市。 SELECT DINSTINCT address FROM student 查询语句中还可以指定表中返回的行数,格式如下: SELECT [TOP n] 字段列表 FROM 表名 其中,TOP n用于指定查询结果返回的行数,其返回的结果一定从上往下的n行信息。 6.4.5 返回指定的行数 【例题6.18】查询学生表前3位学生的学号和姓名。 SELECT TO
您可能关注的文档
最近下载
- 2025年东莞市常平中学小升初入学分班考试语文模拟试卷.docx VIP
- 关于成立中医院项目商业计划书(参考).docx
- IATF16949公司级SWOT分析表范例.xls VIP
- 2025年河南省机场集团有限公司人员招聘笔试备考题库.docx VIP
- 《SLT 582-2025水工金属结构制造安装质量检验检测规程》知识培训.pptx VIP
- COUSS卡士CO-960S使用说明书.pdf VIP
- T CEPPEA 5006.3-2021 工程总承包项目文件收集与档案整理规范 第3部分:电网工程.docx VIP
- 18D705-2:电动汽车充电基础设施设计与安装.pdf VIP
- 工业用二氯丙烷》标准全文及编制说明.pdf VIP
- 水利对象分类规范.docx VIP
文档评论(0)