主题:[讨论]请教?
			 xlghr
				 [专家分:0]  发布于 2007-09-03 06:50:00
 xlghr
				 [专家分:0]  发布于 2007-09-03 06:50:00							
			请教各路高手举例讲解一下union的用法,谢谢
						
					 
		
			
回复列表 (共2个回复)
		
								
				沙发
				
					 kkzjk [专家分:440]  发布于 2007-09-05 11:56:00
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
xlghr [专家分:0]  发布于 2007-09-05 19:11:00				
				
谢谢你的指点,感谢!
另外有问题请教:
我用sqlserver2000的企业管理器中的进程信息查看活动进程时,发现网络地址有相同的,但是主机名字不同,这是怎么回事?
这里的网络地址是不是网卡物理地址?
请指点迷津。
							 
									
			
我来回复