数据库语言SQL——数据查询3.pptVIP

  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文档。上传文档
查看更多
数据库语言SQL——数据查询3

本章内容 4.1 基本查询 4.2 嵌套查询 4.3 连接查询 复习题 查询年龄在20岁以下的学生的基本信息 查询名字中第2个字为“大”字的学生的姓名和学号 列出所有同学的选课信息,包括未选课的同学 求“计算机”系成绩大于85分的学生的人数 统计每门选修课程不及格的人数,列出课程编号和不及格的人数。 查询没有选修’3’课程的学生的学号和姓名(查询结果去掉重复值) 多表连接查询 多表查询指的是从多个源表中检索数据 。因此,多表查 询时,FROM子句中的数据源表要给出所有源表表名,各个 表名之间要用逗号分隔。 1.多表查询的FROM子句格式:FROM 源表表名集 例如,若一个查询用到三个表,表名分别为学生信息表、 选修信息表,课程信息表。 FROM子句应为:FROM 学生信息表,选修信息表,课程信息表 2.多表查询中的SELECT子句 与单表查询的SELECT子句功能基本相同,也是用来指定 查询结果表中包含的列名。 不同的是:如果多个表中有相同的列名,则需要用 表名.列名来限定列是那个表的列。 例如,学生信息表和选修信息表中都有学号列,为了在 结果表中包含学生信息表的学号列,则要用 学生信息表.学号表示。 还可用表名.*,表示表名指定的表中的所有列。 例如,学生信息表. *,表示学生信息表的所有列。 3.多表查询中的GROUP BY、HAVING、ORDER BY子句 与单表查询中的用法基本相同。 不同的是:如果列名有重复,则要用表名.列名 来限定列是那个表的列。 4.多表查询中的WHERE子句 与单表查询中的用法差别较大。 多表查询中往往要有多表的连接条件,当然还有表的一 个或多个行选择条件,多个行选择条件两者用AND组合。 这里着重介绍多表的连接条件。 按连接条件的不同,连接分为:内连接、外连接。外连 接又分为左外连接、右外连接。SQL Server 2000默认情况 下为内连接。 (1)内连接 等值连接与自然连接 等值连接:即根据两个表的对应列值相等的原则进行连接。 连接条件的形式往往是“主键=外键”,即按一个表的主键值与 另一个表的外键值相同的原则进行连接。 常用的等值连接条件形式: 表名1.列名1=表名2.列名2 【例】查询每个学生的基本信息以及他/她选课的情况。 SELECT 学生信息表.*,选修信息表.* FROM 学生信息表,选修信息表 WHERE 学生信息表.学号=选修信息表.学号 上述结果表中含有学生信息表的所有列和选修信息表的所 有列,存在一个重复的列学号,这说明是等值连接。如果要去 掉重复列,就要用SELECT子句指定结果表中包含的列名,这样 就成为自然连接。如下: SELECT 学生信息表.学号,姓名,性别,年龄,系别,课程号,成绩 FROM 学生信息表,选修信息表 WHERE 学生信息表.学号=选修信息表.学号 【例】查询每个学生的学号、姓名、选修的课程名、成绩。 SELECT 学生信息表.学号,姓名,课程名,成绩 FROM 学生信息表,课程信息表,选修信息表 WHERE 学生信息表.学号= 选修信息表.学号 AND 课程信息表.课程号= 选修信息表.课程号 【例】查询选修了2且成绩大于90分的学生的学号、姓名、成绩。 SELECT 学生信息表.学号,姓名, 成绩 FROM 学生信息表, 选修信息表 WHERE 学生信息表.学号=选修信息表.学号AND 课程号=‘2’ AND 成绩90 这里:用AND将一个连接条件和两个行选择条件组合成为查 询条件 【例】求计算机系选修课程大于等于2门课的学生的学号、平均成绩, 并按平均成绩从高到低排序。 SELECT 学生信息表.学号, AVG(成绩) as ‘平均分 FROM 学生信息表,选修信息表 WHERE 学生信息表.学号=选修信息表.学号 AND 系别=‘计算机 GROUP BY 学生信息表.学号 HAVING COUNT(*) = 2 ORDER BY avg(成绩) DESC (3)外连接 外连接不仅包括满足连接条件的行,而且还包括其中某个表中不满足连接条件的行。 标准SQL中,外连接分为左外连接、右外连接。 1)左外连接(LEFT OUTER JOIN) 结果中包括“左”表中所有行及“右”表中所有匹配的行(不包括“右”表中不匹配的行) 2)右外连接(RIGHT OUTER JOIN) 结果中包括“右”表中所有行及“左”表中所

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档