首页 > 代码库 > SQL入门之集合操作
SQL入门之集合操作
尽管可以在与数据库交互时一次只处理一行数据,但实际上关系数据库通常处理的都是数据的集合。在数学上常用的集合操作为:并(union),交(intersect),差(except)。对于集合运算必须满足下面两个要求:
- 两个数据集合必须具有同样数目的列
- 连个数据集中对应列的数据类型必须是一样的(或者服务器能够将其中一种类型转换为另一种类型)
SQL语言中每个集合操作符包含两种修饰:一个包含重复项,另一个去除了重复项(但不一定去除了所有重复项)。
0.union操作符
union和union all操作符可以连接多个数据集,区别是前者去除重复项,后者保留。对于数据库而言,union all操作更加迅速,因为数据库不需要检查数据的重复性。对于连个表
select ‘IND‘ type_cd, cust_id, lname name from individual union all select ‘BUS‘ type_cd, cust_id, name from business;
执行操作后的结果为:
其中,18个数据来自与individual表,8个来自于business。为了更清楚的看到区别,看下面两个实例:
select a.cust_id, a.name from business a uinon all select b.cust_id, b.name from business b;
结果为
而
select a.cust_id, a.name from business a union select b.cust_id, b.name from business b;
结果为
可以很明显看出区别。
1.intersect和except操作符
我用的MySQL版本似乎没有实现这两个功能。:(
SQL入门之集合操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。