SQL 指令 (join)

SQL 指令 (join)

http://blog.blueshop.com.tw/pili9141/articles/52281.aspx

 

1 表a 
2  
3   欄1      欄2 
4 ---------------- 
5   aa       1 
6   bb       2 
7   cc       9 
8  
9 表b 
10  
11   欄a      欄b 
12 ---------------- 
13   1        X 
14   2        Y 
15   3        Z 
16  
17 inner join 
18  
19 select 欄1,欄2,欄b from 表a,表b where 表a.欄2 = 表b.欄a 
20  
21 --◎ 查表a、b的欄1、欄2、欄b的資料,以表a的欄2和表b的欄a做inner join 
22 --◎ 資料表關聯後,資料皆存在才會被查取 
23 --◎ 結果如下: 
24  
25   欄1      欄2     欄b 
26 ------------------------- 
27   aa       1        X 
28   bb       2        Y 
29  
30 outer join 
31  
32 1. select 欄1,欄2,欄b from 表a,表b where 表a.欄2 = 表b.欄a(+); 
33  
34 --◎ 查表a、b的欄1、欄2、欄b的資料,以表a的欄2和表b的欄a做outer join 
35 --   表b中的欄a資料可以不存在 
36 --◎ 資料表關聯後,被outer join的欄位無資料,也會被查取 
37 --◎ 若 表a.欄2 = 表b.欄a(+) 改成  表b.欄a(+) = 表a.欄2 之結果亦相同 
38 --◎ 結果如下: 
39  
40   欄1      欄2     欄b 
41 ------------------------- 
42   aa       1        X 
43   bb       2        Y 
44   cc       9 
45    
46 2. select 欄1,欄2,欄b from 表a,表b where 表a.欄2 = 表b.欄a(+) and 表b.欄a is null
47  
48 --◎ 查表a、b的欄1、欄2、欄b的資料,以表a的欄2和表b的欄a做outer join 
49 --   找出存在表a但不存在表b的資料 
50 --◎ 結果如下: 
51  
52   欄1      欄2     欄b 
53 ------------------------- 
54   cc       9 

posted @ 2010-02-03 18:50  hellofei  阅读(280)  评论(0编辑  收藏  举报