多个表中合并去掉重复项.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文档。上传文档
查看更多
多个表中合并去掉重复项

多个表中合并去掉重复项 数据库问题:多个表中合并去掉重复项 两个表合并起来,去掉某行相同的项,正好把多表查询系统复习一下: 多表查询 (也叫连接查询,此处为基于两个表的连接查询) 如果一个查询需要对多个表进行操作就称为连接查询,连接查询的结果集或结果称为表之间的连接. 连接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征. select 表1.字段名1,表2.字段名2,... from 表1,表2 where 连接条件 SQL-92标准所定义的FROM子句的连接语法格式为: FROM 表名 join_type 表名 [ON (连接条件)] 连接操作中的ON (连接条件) 子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构 成。 连接查询分类: 1.自连接查询,对同一个表进行连接操作 2.内连接查询,又分为:自然连接、等值连接、不等值连接三种 3.外连接查询,又分为:左外连接、右外连接、全外连接三种 4.交叉连接查询,也作无条件查询。 5.联合查询 ---------------------------- 一。自连接查询: 一个表自己与自己建立连接称为自连接或自身连接。 进行自连接就如同两个分开的表一样,可以把一个表的某一行与同一表中的另一行连接起来。 例:表sclass中有三个字段,选学课程编号cno、学号sno、成绩degree 查询选学“101”课程的成绩高于“9505201”号学生成绩的所有学生记录, 并按成绩从高到低排列。 select x.* from sclass x,sclass y where x.cno=101 and x.degreey.degree and y.sno=9505201 and y.cno=101 order by x.degree desc ---------------------------- 二。内连接(INNER JOIN):内连接是最常用的一种连接方式,它只返回两个数据集合之间匹配关系的那些行. 将位于两个互相交叉的数据集合中重叠部分以内的那些数据行连接起来. 内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作, 并列出这些表中与连接条件相匹配的数据行。 根据所使用的比较方式不同,内连接查询操作列出与连接条件匹配的数据行, 它使用比较运算符比较被连接列的列值。 语法: select 字段名列表 from 表名 [inner] join 表名 on 连接条件 [where 条件表达式] 例: select 学生表.学号,学生表.姓名,学生表.班级代号,成绩表.课程代号,成绩表.课程成绩 from 学生表 INNER JOIN 成绩表 on 学生表.学号=成绩表.学号 where 学生表.班级代号=200201 select x.sno,x.sname,y.cno,y.degree from student x INNER join sclass y on x.sno=y.sno where x.sclass=95文秘1 内连接分三种: 1、等值连接: 所谓等值连接,是指表之间通过“等于”关系连接起来,产生一个临时表, 然后对该临时表进行处理后生成最终结果。其查询结果中列出被连接表中的所有列, 包括其中的重复列。 (1)查询所有学生的sno,cname,degree列: SELECT x.sno,y.cname,x.degree FROM score x,course y WHERE x.cno=y.cno (2)查询“95033”班所选课程的平均分: SELECT y.cno,avg(y.degree) as 平均分 FROM student x,score y WHERE x.class=95033 and x.sno=y.sno group by y.cno (3)查询所有学生的student,score表信息: select x.*,y.* from student x,score y where x.sno=y.sno 用等值连接列出authors和publishers表中位于同一城市的作者和出版社: SELECT * FROM authors AS a INNER JOIN publishers AS p ON a.city=p.city 2、不等值连接: 是指表之间的连接关系不是“等于”,而是其它关系。 这些运算符包括、=、=、、!、!和。 (1)查询所有学生的sno,cno,rank列: select sno,cno,rank from score,grade where degree between low and upp order by rank

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档