SQLjoin详细用法.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文档。上传文档
查看更多
SQL join详细用法下面为join用法,但self join 好象写的有问题. 【 join 方式】 (1) cross join ????? 参与select语句所有表的的所有行的笛卡尔乘积 ????? select au_lname ,title ????? from authors cross join? titiles ???? outer? join 对参与join的两个表有主从之分,处理方式以主表的每条数据去match 从属表的列,合乎条件的数据是我们所要的答案,不合乎条件的也是我们要的答案,只不过哪些从属表选取的列将被添上null。 (2) left join ???? 左边的为主表,右边为从属表 ???? select a.cust_id ,b.order_date,b.tot_ant ???? from customer a left join sales b ???? on (a.cust_id =b.cust_id and b.order_date1996/10/15) ???? 可以写为 ???? select a.cust_id,b.order_date,b.tot_ant ???? from custom a ???? left join (select * from sales where order_date1996/10/15) b ??? on a.cust_id =b.cust_id?? (3) right join ???? 左边的表为从属表,右边的表为主表 (4) self join ???? self join 常用在同一表内不同数据间对同一列的比较 ??? select a.emp_no,a.emp_name,b.emp_no,b.emp_name,a.date_hired ??? from employee a ??? join employee b ??? on (a.emp_no!=b.emp_no and a.date_hired=b.date_hired) ??? order by a.date_hired ?? 这样会重复数据,只要加上一句 and a.emp_nameb.emp_name (5) full join ???? 不仅列出符合条件的数据,两边未符合join条件的数据也会一并列出。哪些未符合join条件的数据如果在select列中无法得到对应的值则填上null ??? select a.cust_id,b.tot_amt ??? from customer a full join sales b ??? on a.cust_id=b.cust_id 有表 ?id?? ic? name? amount ????? I??? *??????? * ????? c ????? i ????? c ????? i ????? i?? ?? 要求结果为? ??? ic? name? amount? ic?? name? amount ??? i???????????????????????? c ??? i???????????????????????? c ??? i ??? i ? select aaa.*,bbb.* ? from ( select (select count(id) from? aa as? b where (b.ida.id) and (ic=i)) as???? newid, * from aa a where ic=i) aaa ? full join ?? (select (select count(id) from aa as b where b.ida.id and ic=c) as newid,* from ?aa a where ic=c) bbb on aaa.newid=bbb.newid order by aaa.name 6.使用 HASH 和 MERGE 联接提示 此示例在 authors、titleauthors 和 titles 表之间建立三表联接,以生成一个作者及其著作的列表。查询优化器使用 MERGE 联接将 authors 和 titleauthors (A x TA) 联接在一起。然后,将 authors 和 titleauthors MERGE 联接 (A x TA) 的结果与 titles 表进行 HASH 联结以生成 (A x TA) x T。 重要? 指定联接提示后,要执行 INNER JOIN 时 INNER 关键字不再为可选,而必须显式说明。 USE pubs SELECT SUBSTRING((RTRIM(a.au_fname) + + LTRIM(a.

文档评论(0)

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

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

1亿VIP精品文档

相关文档