plsql连接oracle账号密码错误Oracle中的Union、UnionAll、Intersect、Minus的表结构和使用实例

Oracle中的Union、Union All、Intersect、Minus

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序(如有重复数据只留一条)

Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;

Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。

也就是结果集一减去结果集二的结果

下面是测试:

表结构如下:

UNION:

SELECT SID,USER_NAME from TEST_USER

WHERE sid IN(1,2)

UNION

SELECT SID,USER_NAME from TEST_USER

WHERE sid IN(1,2,3,4)

结果:

1 test_name1

2 test_name2

3 test_name3

4 test_name4

UNION ALL:

把上面的 UNION换成UNION ALL的话,取的为全集

结果:

1 test_name1

2 test_name2

1 test_name1

2 test_name2

3 test_name3

4 test_name4

对查询的结果不满意?那我们可以对结果进行排序?当然可以

使用ORDER_BY进行排序,不过在写法上有需要注意的地方:

order_by 必须使用在最后的查询中

SELECT SID,USER_NAME from TEST_USER

WHERE sid IN(1,2)

UNION All

SELECT SID,USER_NAME from TEST_USER

WHERE sid IN(1,2,3,4) ORDER BY USER_NAME

结果:

1 test_name1

1 test_name1

2 test_name2

2 test_name2

3 test_name3

4 test_name4

Intersect和Mioracle账号nus的操作和Union基本一致

此条目发表在oracle metalink账号分类目录,贴了, , , 标签。将固定链接加入收藏夹。