http://www.cnblogs.com/LeoTerry/archive/2010/03/26/1696988.html
數據表的連接有:
以下的文章主要是通過代碼的方式來引出Oracle join的正確用法,其在實際中的應用比例還是占為多數的,如果你對這一新開發的技術,心存好奇的話,以下的文章將會揭開它的神秘面紗。希望你在浏覽完之後會有所收獲。
內連接
左連接
右連接
完全連接
迪卡爾
9i和sqlserver一樣 left join,right join,full join
分為1. INNER JOIN 2. LEFT JOIN 3. RIGHT JOIN 4.LEFT OUTER JOIN
首先設定一個我們要用的兩個表
表A 表B
ID NAME ID CLASS
1 IBM 1 C1
2 SONY 3 C3
3 BMW 4 C4
1 INNER JOIN: SELECT * FROM A INNER JOIN B ON A.ID=B.ID
得表 ID NAME CLASS
1 IBM C1
3 BMW C3
對了 就是 兩個表的ID都存在並相同 得到這兩個表的組合表
2 LEFT JOIN : SELECT * FROM A LEFT JOIN B ON A.ID=B.ID
得表 ID NAME CLASS
1 IBM C1
2 SONY null
3 BMW C3
沒暈吧 如果還有方向感 就行 LEFT(左) 得到的是A(left語句的左邊的表)的所有記錄 而B表對應的記錄沒有的話也要補齊 (真霸道! 呵呵)
3 RIGHT JOIN : SELECT * FROM A RIGHT JOIN B ON A.ID=B.ID
得表 ID NAME CLASS
1 IBM C1
3 BMW C3
4 null C4
對了RIGHT(右) 得到的是B(right語句的右邊的表)的所有記錄 而A表對應的記錄沒有的話也要補齊 (我也翻身了! 呵呵)
4 FULL OUTER JOIN: SELECT * FROM A FULL OUTER JOIN B ON A.ID=B.ID
得表 ID NAME CLASS
1 IBM C1
2 SONY null
3 BMW C3
4 null C4
上述的相關內容就是對Oracle join的用法的描述,希望會給你帶來一些幫助在此方面。
------------------------------------------ 數據表的連接有:一般所說的左連接,外連接是指左外連接,右外連接。做個簡單的測試你看吧。
先說左外連接和右外連接:
[TEST1@orcl#16-12月-11] SQL>select * from t1;
ID NAME
---------- --------------------
1 aaa
2 bbb
[TEST1@orcl#16-12月-11] SQL>select * from t2;
ID AGE
---------- ----------
1 20
3 30
左外連接:
[TEST1@orcl#16-12月-11] SQL>select * from t1 left join t2 on t1.id=t2.id;
ID NAME ID AGE
---------- -------------------- ---------- ----------
1 aaa 1 20
2 bbb
右外連接:
[TEST1@orcl#16-12月-11] SQL>select * from t1 right join t2 on t1.id=t2.id;
ID NAME ID AGE
---------- -------------------- ---------- ----------
1 aaa 1 20
3 30
從上面的顯示你可以看出:左外連接是以左邊的表為基准。通俗的講,先將左邊的表全部顯示出來,然後右邊的表id與左邊表id相同的記錄就“拼接”上去,比如說id為1的記錄。如果沒有匹配的id,比如說t1中id為2的t2中就沒有。那邊就以null顯示。
右外連接過程正好相反。
再看內連接:
[TEST1@orcl#16-12月-11] SQL>select * from t1 inner join t2 on t1.id=t2.id;
ID NAME ID AGE
---------- -------------------- ---------- ----------
1 aaa 1 20
看到沒有? 只有一條記錄。內連接就是只取出符合過濾條件的記錄 也就是t1.id=t2.id 那麼符合t1.id=t2.id的記錄只有id=1這一條,所以只顯示一條。 不像外連接,是將你作為基准的表(左外連接就是左邊表為基准,右外連接就是右邊表為基准)的所有行都顯示出來。
綜上所述,你應該能明白了吧?如果不明白請留言。...余下全文>>
sql裡面的餓
左連接 關鍵字語法
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
右連接 JOIN 關鍵字語法
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name