定義就不用說了吧!
測試資料
test_table
create
table
test_table
(u_id
int,u_name
varchar(20
))insert
test_table
select1,
'a1'
union
allselect2,
'b2'
union
allselect3,
'c3';
測試資料
test_table_link
create
table
test_table_link
(u_id
int,u_other
varchar(50
))insert
test_table_link
select1,
'each month
'union
allselect1,
'each day
'union
allselect1,
'each year
'union
allselect55,
'each day
'union
allselect55,
'each year
'union
allselect3,
'each day
'union
allselect3,
'each year
'union
allselect88,
'each day
'union
allselect88,
'each month';
結果select
a.u_id,a.u_name,b.u_other
from
test_table a
left
outer
join
test_table_link b
ona.u_id
=b.u_id;
測試環境為
sql server 2005
原本以為只是顯示
test_table
中的每3條記錄,實際上不是這樣的
(為什麼多了記錄了呢?
),只要第乙個表(
test_table
)中有,而第二個表與之相關聯得上的都會顯示的,但是一定要在第乙個表(
test_table
)中存在,如第二個表
(test_table_link)
中的uid
為55,88
的不會出現,若第二個表沒有找到與第乙個表相匹配的那當然為
null
了!right outer join
就與之相反了.
sql還真是強大啊~~
LEFT OUTER JOIN 使用實況
left outer join 使用實況 定義就不用說了吧!測試資料 test table create table test table u id int,u name varchar 20 insert test table select1,a1 union allselect2,b2 unio...
LEFT OUTER JOIN 使用實況
定義就不用說了吧!測試資料 test table create table test table u id int,u name varchar 20 insert test table select 1,a1 union all select 2,b2 union all select 3,c3 ...
在中合理的使用LEFTOUTERJOIN進行開發!
比如我們想對某人的消費專案進行彙總,對應以下兩個表 theme與themedetail theme的記錄為 themeid int themename varchar 10 1 就餐 2 出差 3 乘車 4 其它 themedetail的記錄為 detailid int themeid int pr...