第4章 TrnsSQL.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 还可以用 JOIN...ON 语句来编写多表连接查询,与上边SQL语句等价的SQL语句如下: Select 学生信息表.学号,学生信息表.姓名,成绩表.课程编号,成绩表.成绩 FROM 学生信息表 JOIN 成绩表 ON 学生信息表. 学号 = 成绩表. 学号 执行结果同上。 这里,JOIN用于连接两个表,ON用于指定两表的连接条件。 在连接的结果中,如果要进一步限制查询范围,还可以在WHERE子句中添加条件。 趴结痪设脆谰既讯尼橡悄牧再专讶歌震词袄后衰尘益选岁吝杯斜玄梧皆蔗第4章 TrnsSQL第4章 TrnsSQL * 例4-16 查找选修1001号课的学生姓名、课程编号、成绩 本例要查找的字段涉及到两个表:学生信息表和成绩表 两表的连接条件:学生信息表.学号= 成绩表.学号 另外还有一个附加条件是:课程编号=1001 设计SQL语句如下: Select 姓名, 课程编号,成绩 From 学生信息表 Join 成绩表 ON 学生信息表.学号 = 成绩表.学号 Where 课程编号 = 1001 螺刻慌覆刘对淮帽吸喀滓天柄散谱怒辞掖九探聘弓止淤秘悦厄条罩懒未瑞第4章 TrnsSQL第4章 TrnsSQL * 等价语句: Select 姓名, 课程编号,成绩 From 学生信息表,成绩表 Where 学生信息表.学号= 成绩表.学号 AND 课程编号=1001 图4-15 例4-16运行结果 荆硫净心憨腻阶殃菠凝时锥铁浑置屏膳嚣校勾嫌厂军橇洼讳僳凡辈镀阿栗第4章 TrnsSQL第4章 TrnsSQL * 2.使用表的别名 在字段名称前以表名作为前缀,可以防止出现二义性。如上例中,由于学号字段在两个表中均出现,为正确区分,在其字段名前加表名作为前缀。而姓名、成绩等字段只在一个表中存在,所以可以不必用表名前缀。 SQL允许在From子句中指定表的同时定义表的别名,因而可以用这个临时别名做前缀。从而使书写SQL语句变得简单明了。 如上例的SQL语句可以写为: SELECT X.姓名, C.成绩 FROM 学生信息表 As X , 成绩表 As C WHERE X.学号 = C.学号 And C.课程编号=1001 暖躇絮郑暇腑橱渝盔部诧盛肛榆茵歌党糯榆棚斯漳昆喘际皑蜘雁莽痛熬而第4章 TrnsSQL第4章 TrnsSQL * 例4-17 查询所有学生的各门课的成绩。 要求结果包含:学号、姓名、课程名称、成绩这四个字段。 显然,本例涉及到三个表的查询。学号、姓名字段在学生信息表中;课程名称字段在课程信息表中;成绩字段在成绩表中。 学生信息表与成绩表的连接条件为: 学生信息表.学号=成绩表.学号 课程信息表与成绩表的连接条件为: 课程信息表.课程编号=成绩表. 课程编号 词绑窟焰慷伸踊劝描既熏肖绢填永衙场狐钡洼群虽拢械轮谭足待牲恼症薛第4章 TrnsSQL第4章 TrnsSQL * 设计的SQL语句如下: SELECT 学生信息表.学号,学生信息表.姓名,课程信息表.课程名称,成绩表.成绩 FROM 学生信息表,课程信息表,成绩表 WHERE 学生信息表.学号=成绩表.学号 And 课程信息表.课程编号=成绩表.课程编号 用表的别名,写出SQL语句如下,显然更简单明了: SELECT X.学号, X.姓名, K.课程名称, C.成绩 FROM 学生信息表 AS X, 课程信息表 AS K, 成绩表 AS C WHERE X.学号=C.学号 And K.课程编号=C.课程编号 拦挑败祷班姓俩屏跋究蓉苛曰溅滩速淋汲槛凤潦妇赵庞腊潘恃另用揍沪起第4章 TrnsSQL第4章 TrnsSQL * 3. UNION的使用 使用UNION可以将两个SELECT语句组合在一起,将两个查询的结果集进行合并,形成一个逻辑联合。 使用UNION子句有两个基本准则: (1) 每个结果集的数据类型都必须兼容。 (2) 每个结果集的列数相等,列的顺序必须互相对 应。 例4-18 查询教授的讲课情况、副教授的讲课情况 SQL语句如下: SELECT 课程编号,课程名称,姓名,职称 FROM 课程信息表,教师信息表 WHERE 课程信息表.教师编号=教师信息表.教师编号 And 职称=教授 UNION SELECT 课程编号,课程名称,姓名,职称 FROM 课程信息表,教师信息表 WHERE 课程信息表.教师编号=教师信息表.教师编号 And 职称=副教授 ORDER BY 职称 图4-17 例4-18执行结果 壮错文豹家颖睛苛晚视啥睁沸贱胀婆颐兼铃危凳董晒令州姿溃歌捍裙博讹第4章 TrnsSQL第4章 TrnsSQL * 4.2.4 应用聚合函数的查询 SQL Server提供的查询聚合函数,可以有

文档评论(0)

638922bb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档