Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > SQL循序渐进(23)UNION 和 外部连接
【标  题】:SQL循序渐进(23)UNION 和 外部连接
【关键字】:SQL,连接,IO,23,UNION,SQL,23,UNION
【来  源】:网络

SQL循序渐进(23)UNION 和 外部连接

Your Ad Here

UNION 和 外部连接

有些时候,你可以想一起看多个查询的结果、组合它们的输出,你可以使用UNION关键字。为了合并以下两个查询的输出:显示所有买方的ID和已经有定货的顾客,你可以使用以下语句:

SELECT BUYERID

FROM ANTIQUEOWNERS

UNION

SELECT OWNERID

FROM ORDERS;

这里要注意SQL要求SELECT的列表必须匹配,即列于数据类型匹配。在本例子中,BuyerID 和OwnerID都是相同的数据类型,同为Interger(整型)。同时还有一提的是,SQL但使用UNION的使用会进行自动复制排除。而在单一的查询中,你就必须使用DISTINCT。

Outer Join(外部连接)通常是在JOIN查询被联合,而行没有包括到JOIN中的时候使用,特别是在常量文本"flags"被包括的时候尤为有用。下面我们看看这个查询先:

SELECT OWNERID, 'is in both Orders & Antiques'

FROM ORDERS, ANTIQUES

WHERE OWNERID = BUYERID

UNION

SELECT BUYERID, 'is in Antiques only'

FROM ANTIQUES

WHERE BUYERID NOT IN


(SELECT OWNERID

FROM ORDERS);

第一个查询做了一个连接以列出两个表中的每个owener,并且在ID后面放置一个标记线来重复引用。这个UNION合并了这个列表以及以下第二个的列表。第二个列表是列出不是在Orders 表的ID,这样就产生了在JOIN查询之外的ID列表,它是利用引用标签列出的。这可能是一种最容易的方法来产生这个列表。

这个概念对于主键跟外码有关的状况是很有用的,但是有些主键的外码值是NULL。比如,在一个表中,主键是salesperson,而在其它的表中主键是customers,并且它们的salesperson列在相同的行。然而,如果salesperson没有customers的时候,这个人的名字就不会出现在customer表中。如果所有salespersons的列表要显示出来,那么就要外部连接了。

SQL循序渐进(22)EXISTS 和 ALL:【上一篇】
SQL循序渐进(24)嵌入SQL:【下一篇】
【相关文章】
  • SQL循序渐进(6)删除表
  • SQL循序渐进(5)插入数据到表
  • SQL循序渐进(4)创建表
  • SQL循序渐进(3)数据检索
  • SQL循序渐进(2)表的基础知识
  • SQL循序渐进(1)介绍SQL
  • SQL Server和DB2大比拼
  • 两个SQL Server维护技巧
  • SQL Server 2000用户实用程序
  • 正确设置连接服务器的数据接口选项
  • 【随机文章】
  • 一个MIDP俄罗斯方块游戏的设计和实现
  • Winrunner Vs. Quick Test Professional (转贴)
  • Solaris 8 安装指南
  • 2006_11_18炸弹人开发日志
  • Freebsd6.1+AMP手工整合指南
  • Java 理论与实践: 非阻塞算法简介
  • 关于java nio在windows下实现
  • 香港娱乐圈与黑社会大揭密(多图)
  • 直销企业CRM之路
  • “设计模式”读书笔记
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.