主题:[讨论]请教?
xlghr
[专家分:0] 发布于 2007-09-03 06:50:00
请教各路高手举例讲解一下union的用法,谢谢
回复列表 (共2个回复)
沙发
kkzjk [专家分:440] 发布于 2007-09-05 11:56:00
UNION
UNION命令用于从两个表中选取相关的信息,很类似JOIN命令。不过,当使用UNION命令时,所有被选取的列的数据类型应该是相同的。
注释:如使用UNION,那么只有不同的值会被选取。
SQL Statement 1
UNION
SQL Statement 2
Employees_Norway:
E_ID E_Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari
Employees_USA:
E_ID E_Name
01 Turner, Sally
02 Kent, Clark
03 Svendson, Stephen
04 Scott, Stephen
使用UNION命令
实例
列出所有在挪威和美国的不同的雇员名:
SELECT E_Name FROM Employees_Norway
UNION
SELECT E_Name FROM Employees_USA
结果
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen
注释:这个命令无法列出在挪威和美国的所有雇员。在上面的例子中,我们有两个名字相同的雇员,他们当中只有一个人被列出来了。UNION命令只会选取不同的值。
UNION ALL
UNION ALL命令和UNION命令几乎是等效的,不过UNION ALL命令会列出所有的值。
SQL Statement 1
UNION ALL
SQL Statement 2
使用UNION ALL命令
实例:
列出在挪威和美国的所有的雇员:
SELECT E_Name FROM Employees_Norway
UNION ALL
SELECT E_Name FROM Employees_USA
结果
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen
板凳
xlghr [专家分:0] 发布于 2007-09-05 19:11:00
谢谢你的指点,感谢!
另外有问题请教:
我用sqlserver2000的企业管理器中的进程信息查看活动进程时,发现网络地址有相同的,但是主机名字不同,这是怎么回事?
这里的网络地址是不是网卡物理地址?
请指点迷津。
我来回复