1. 首页 > 智能数码 >

数据库union(数据库union的用法示例)

关于数据库union,数据库union的用法示例这个很多人还不知道,今天琪琪来为大家解答以上的问题,现在让我们一起来看看吧!

1、 UNION( )当需要从多个不同的表中合并相似的数据时 UNION操作是非常有用的 在某些情况下 也许是为了获得更快的访问速度 或者为了将表更容易地分布在不同的硬件上 数据库的设计者可能会将单个逻辑数据表设计为多个在物理上完全分开的表 在这种情况下 UNION操作就可以从多个表中获取数据 并将其合并到一个数据集中尽管LIBRARY数据库中没有重复的数据 但UNION操作将执行消除列表中重复记录的处理 如果有一个以上的作者具有相同的姓氏 那么UNION列表中仅会包含一个这样的姓氏 如果想在结果集中包含所有的记录 则必须使用UNION ALL操作符首先添加另外一个作者记录 John M Bryson Strategic Planning for Public and NonprofitOrganizations: A Guide to Strengthening and Sustaining Organizational Achievement一书的作者(与数据库中已经存在的Bill Bryson并无关系) 为了将这条多余的记录添加到BOOKS表中 将使用所要求的最少数据来插入该记录 AU_ID和AU_LAST_NAME:INSERT INTO authors (au_id au_last_name)VALUES ( Bryson )在这一小节开头曾经介绍过一个UNION查询 从该查询的结果中可以看到 结果列表中只出现了一个Bryson 现在可以运行一个与之非常类似的新查询SELECTbooks bk_title AS titleFROM booksUNION ALLSELECTauthors au_last_nameFROM authors;当运行UNION ALL查询时 查询结果将会产生较大的差别 结果列表中不仅仅包含了两个名为Bryson的作者 而且还失去了原来的排序 UNION合并的每一个子集都按照从每一个查询中返回的原始顺序进行排序(请注意位于数据集末尾的Bryson) 第二个查询的结果只是简单地追加到第一个查询的结果之后 如表 所示表 UNION ALL查询的结果(续表)实际上 在某些情况下数据是不同的 然而它们在某个方面具有相似性 例如一个机构中的成员就具有很多不同的角色 对于学校来说 其中的人员包括教师 学生 管理员或校长 对于工厂来说 有工人 经理 后勤人员和销售人员 可以想象 这些角色在数据库中分别属于自己的表 但是可以使用UNION操作来合并这些表中的角色 只查询人员的姓氏和名字 每一个人员都必定具有这两个字段 从而创建一个总的 人员 列表JOIN操作通过将多个表连接起来 从而向结果集中添加更多有关的详细信息 UNION对截然不同的表执行操作 删除无关的字段 并将列表缩减为最常用的几个列在一个查询中可以使用多少个UNION操作是有实际限制的 实践表明可以运行上千个UNION操作 实际可以使用的UNION数量取决于硬件条件(CPU RAM)和具体的RDBMS实现返回目录 SQL实战新手入门编辑推荐Oracle索引技术高性能MySQLlishixinzhi/Article/program/SQL/201311/16465。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息