zoukankan      html  css  js  c++  java
  • 联合

    1.内部联合

    • 等值联合与不等值联合
    • 多个联合与多个条件
    • 交叉联合
    • 自联合

    交叉联合:

    不存在ON子句,将列举出所有表中的所有记录行。结果集是两个表的笛卡尔积:一个表中的所有行组合另一个表中的所有行。

    select category,street from category cross join location order by street;

    自联合:

    select MD1.MemberId,MD1.Firstname,MD1.lastname,MD2.memberid,MD2.firstname,MD2.lastname,MD1.ZIPCODE,MD2.zipcode,MD1.street,MD2.street from MemberDetails as MD1 inner join MemberDetails as MD2 on MD1.street=MD2.Street and MD1.ZipCode=MD2.ZipCode and MD1.MemberId<MD2.MemberId;    --找到2个住址完全一样的人

    2.外部联合

    内部联合要求包含在联合中的两个表必须具有匹配的记录,ON子句的条件必须为真。

    外部联合不需要两个表具有匹配记录,可以指定一个表总是返回结果,无论ON子句的条件是否为真,结果仍然服从任何where子句的过滤效果。

    (1)左外部联合

    outer join左边表中的所有记录都被返回在结果中。

    --返回一个关于所有电影类型及其相应的电影的一个表。即使没有电影的电影类也要列举出来。
    select category,filmname from category left outer join films on category.Categoryid=films.CategoryId;

    select location.Street,MemberDetails.Street from location left outer join MemberDetails on Location.Street=MemberDetails.Street;

    (2)右外部联合

    outer join右边表中的所有记录都被返回在结果中。和左外部联合不存在功能上的差异。

    select location.Street,MemberDetails.Street from location right outer join MemberDetails on Location.Street=MemberDetails.Street;

    (3)完全外部联合

    左外部联合和右外部联合的组合。返回左右两个表中的全部记录,当在另一个表中不存在匹配记录时,将返回一个NULL值。

    select location.Street,MemberDetails.Street from location full outer join MemberDetails on Location.Street=MemberDetails.Street;

    3.UNION的使用

    将2个或多个select查询结果联合到一个结果集中。每个查询必须产生相同的列,列的数据类型必须相同,列的数据类型和顺序必须匹配。

    默认情况下,UNION运算符合并了两个查询,但是仅仅包含不重复的记录,若要返回所有的记录,不管是否唯一,则需要使用ALL语句。

    可以用ORDER BY 来排序结果。但是仅能添加一个ORDER BY子句,并且只可以使用第一个SELECT语句中的列名,但是会对整个查询结果排序。ORDER BY子句放在最后。

    select filmname,yearreleased from films
    union all
    select lastname,year(dateofbirth) from MemberDetails
    union all
    select city,null from location
    order by filmname;

  • 相关阅读:
    Java集合分析
    数据结构之红黑树
    数据结构之二叉查找树
    数据源 连接oracle
    Android使用jxl快速生成Excel表
    Java 条形码 二维码 的生成与解析
    setPreferredSize和setSize的区别及用法
    JAVA学习Swing章节布局管理器简单学习 补充(第四种布局理解)
    swing外观框架
    Java 实现ftp 文件上传、下载和删除
  • 原文地址:https://www.cnblogs.com/wy1290939507/p/4532059.html
Copyright © 2011-2022 走看看