六数据库的查询和视图连接查询.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
六数据库的查询和视图连接查询

本堂小结 连接查询(多表查询) 内连接:只显示条件匹配的连接行。 外连接:既显示条件匹配的连接行,还显示条件不匹配的行。 左外连接:保留左表中不匹配的行。 右外连接:保留右表中不匹配的行。 全外连接:保留两边表中不匹配的行。 交叉连接:返回被连接的两个表所有数据行的笛卡尔积 自连接:将同一张表中条件匹配的行进行连接。 查询每个学生的选课情况,要求显示学生的学号,姓名,课程编号; 查询每个学生的选课情况,要求显示学生的学号,姓名,课程名称,课程学分,成绩; 统计每门课程的选课人数,要求显示课程的名称,选课人数,结果按照人数的升序显示; 课后练习 * * * * * * * * * 仅当至少有一个同属于两表的行符合连接条件时,内连接才返回行。内连接消除与另一个表中的任何行不匹配的行。 而外连接会返回 FROM 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 WHERE 或 HAVING 搜索条件。 将检索通过左向外连接引用的左表的所有行,以及通过右向外连接引用的右表的所有行。 * * * * * * 补充说明:交叉连接(cross join)很少使用在规范化的数据库中,它将返回表中所用行的可能的组合。通常它被用在测试数据中。 * * Select sc.sno,sname,cno from student left join sc On sc.sno=student.sno Select sc.sno,sname,cname,ccredit,score from student left join sc On sc.sno=student.sno Join course On course.cno=sc.cno Select cname,count(sno) From course left join sc on course.cno=sc.cno Group by cname Order by count(sno) 关系数据库与SQL语言 目 录 第1章 数据库基础 第2章 关系库的基本理论 第3章 数据库设计 第4章 Transact-SQL语言和SQL SERVER 2008 第5章 数据库和表的创建 第6章 数据库的查询和视图 第7章 存储过程和触发器 第8章 数据库应用实战 上堂课知识点回顾 使用where 子句设置查询条件 使用集函数 对查询结果集分组 数据汇总查询的语法格式 用聚合函数、group by子句 select 列名表 from 表名[,……n] [ where 条件 ] [ group by 列名 ] [ having 逻辑表达式 ] [ order by 列名 ] 投影运算 选择运算 分类汇总 连接运算 排序 本堂内容 6.1 数据查询 6.1.2 连接查询 内连接-等值、非等值连接 无限制连接(笛卡尔积) 自身连接 外连接 复合条件连接 连接查询的含义: 从多个相关的表中查询数据(用from子句实现)。 连接运算: 把多个表中的行按给定的条件进行拼接从而形成新表。 连接运算的类型: 内连接(掌握) 外连接(左外连接、右外连接、全外连接) (理解) 自连接(理解) 无限制连接(了解,略) § 6.1.2 连接查询 内连接查询 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种: 1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。 2、非等值连接: 在连接条件使用除等于号(=) 运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括、=、=、、!、!和!=。 3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。 1. 自然连接 含义: 将多个表中的共享列值进行比较,把表中满足连接条件的行组合起来,作为查询结果。 例如:请将Student和SC 表进行连接。 内连接查询结果 思考: 这两张表为什么可以进行连接? 连接的条件应该是什么? 内连接查询 学号 姓名 专业 001 张三 002 李四 003 王五 004 马六 学号 课程号 成绩 001 C01 001 C02 003 C01 003 C03 学号 姓名 专业 课程号 成绩 001 张三 C01 001 张三 C02 003 王五 C01 003 王五 C03 1. 自然连接 语法格式有两种: 语法形式1: select 列名表

文档评论(0)

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

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

1亿VIP精品文档

相关文档