连接+存储过程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
连接存储过程

练习:请完成以下的查询操作 --1、统计每个学生选修的课程的成绩。 连接查询的含义: 从多个相关的表中查询数据(用from子句实现) 连接运算: 把多个表中的行按给定的条件进行拼接从而形成新表。 连接运算的类型: 内连接 语法格式: select 列名表 from 表1 [inner] join 表2 on 表1.列名1=表2.列名2 外连接(左外连接、右外连接、全外连接) 含义: 在内连接中,只把两个表中满足条件的行显示出来。 而在外连接中,可以将不满足条件的行也显示出来。 外连接的类型 左外连接:保留左边表中不匹配的行。 select 列名表 from 表1 left [outer] join 表2 on 表1.列名1=表2.列名2 右外连接:保留右边表中不匹配的行。 select 列名表 from 表1 right [outer] join 表2 on 表1.列名1=表2.列名2 全外连接:保留两表中不匹配的行。 select 列名表 from 表1 full [outer] join 表2 on 表1.列名1=表2.列名2 自连接 含义: 将同一个表的不同行连接起来。 自连接可以看作一张表的两个副本之间进行的连接。 要求: 在自连接中,必须为表指定两个别名,使之在逻辑上成为两张表。 --2、查询不及格学生的学号、姓名、课程名称和成绩信息。(要求用内连接完成) --思考:若0分表示缺考,请查询不及格学生的学号、姓名、课程名称和成绩信息(缺考不显示)。 --3、查询平均分低于60的学生学号和姓名。 --4、查询最高分在80分以上的学号、姓名、联系电话。 --5、查询需要组织补考的课程及补考人数。 --6、查询每门课程的分数情况,及最低分、最高分和平均分。 思考:查询至少有2门课程的成绩在80分以上的学生基本信息 存储过程的含义 是一组预先写好的能实现某种功能的T-SQL程序,是存储在服务器上的预编译集合。 存储过程是一种独立的数据库对象,在服务器上创建和运行。 类似于编程语言中的过程或函数。 系统存储过程定义在系统数据库master中,其前缀是sp_。 ——1.简单存储过程 创建格式: create proc[edure] 存储过程名 as SQL语句 相应的执行格式: [exec] 存储过程名 --7、创建简单存储过程P1,统计每个学生选修的课程数。 Create proc p1 As Select 学生信息表。学号,姓名,count(课程编号)as 课程数 From 学生信息表,教学成绩表 Where 学生信息表。学号=教学成绩表。学号 Group by学生信息表。学号,姓名 Go Exec p1 --8、创建带输入参数的存储过程P2,输入教师姓名,查询所教授的课程。 drop proc p2 @qq char(10) As Select distinct姓名,名称, From 教师信息表,数学成绩表,课程信息表 Where 教学成绩表。教师编号=教室信息表。编号 and 教学成绩表。课程编号=课程信息表。编号 And 姓名=@qq Go Exec p2’杜老师’ --9、创建带输入和输出参数的存储过程P3,输入课程名称,显示最高分。 Create proc p3 @pp char(30),@kk int output As Select @kk=max(分数) From 课程信息表,教学成绩表 Where教学成绩表。课程编号=课程信息表。编号 and 名称=@pp Go Declare @11 int Exec p3 ‘实用英语’,@11 output Print @11 触发器 含义 是一种表或视图执行insert、 delete、update操作时,被系统自动执行的特殊的存储过程。 创建触发器的目的 对表实现复杂的数据完整性约束,以防止不正确的操作。 按引起触发的事件不同,分为: insert触发器 delete触发器 update触发器 按触发器激活的时机不同,分为: 后触发器 只有执行了insert、 delete、update操作后,才激发的触发器。 替代触发器 不执行命令所定义的insert、 delete、update操作,而仅执行触发器中定义的代码。 每个触发器被激活时,系统都为它自动创建两个临时表: inserted表 deleted表 临时表的特点: 是逻辑表,由系统来维护,用户不能对它们进

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档