oracle 的各种连接
2015-03-27来源:

SQL UNION 操作符

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SQL UNION 语法

SELECT column_name(s) FROM table_name1

UNION

SELECT column_name(s) FROM table_name2

注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

SQL UNION ALL 语法

SELECT column_name(s) FROM table_name1

UNION ALL

SELECT column_name(s) FROM table_name2

另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

另一种连接:内连接和外连接

简单来讲,随便来个例子:

A表 B表

id name id name

1 a 1 b

2 b 3 c

4 c

内连接就是左表和右表相同的数据:

select * from A inner join B on A.id=B.id

id name id name

1 a 1 b

外连接分为:左外连接、右外连接、全外连接

左外连接就是以左表为准,去匹配右表,左表有多少条数据,结果就是多少条数据

select * from A left join B on A.id=B.id

id name id name

1 a 1 b

2 b null null

4 c null null

右外连接就是与左外连接反之,以右表为准,去匹配左表,右表有多少条数据,结果就是多少条数据

select * from A right join B on A.id=B.id

id name id name

1 a 1 b

null null 3 c

全外连接数据条数不一定,相当与是左外连接 和右外连接 的综合

select * from A full join B on A.id=B.id

id name id name

1 a 1 b

2 b null null

null null 3 c

4 c null null

更多信息请查看IT技术专栏

推荐信息
Baidu
map