1.內連線:取的兩個表的(有能連線的欄位)的交集,即欄位相同的。利用內連線可獲取兩表的公共部分的記錄, select * from A,B where A.Aid=B.Bnameid 與 Select * from A JOIN B ON A.Aid=B.Bnameid的執行結果是一樣的。 2.外連線:左右連線。 外連線分為兩種,一種是左連線(Left JOIN)和右連線(Right JOIN) (1)左連線(Left JOIN):語句如下: select * from A Left JOIN B ON A.Aid=B.Bnameid A的欄位全有,查詢出來在結果集的左邊。 (2)右連線(Right JOIN):語句如下:select * from A Right JOIN B ON A.Aid=B.Bnameid 左右連線的sql語句例項:(+),中間函式NVL給空值賦值。 sql="select name,id,area_name from (select a.name,a.id,NVL(c.area_name,"未分配") area_name "+ "from department a, area_department b,area_table c "+ "where a.id= b.f_branch_id(+) "+ "and b.area_code= c.area_code(+)) d where 1=1 ";
1.內連線:取的兩個表的(有能連線的欄位)的交集,即欄位相同的。利用內連線可獲取兩表的公共部分的記錄, select * from A,B where A.Aid=B.Bnameid 與 Select * from A JOIN B ON A.Aid=B.Bnameid的執行結果是一樣的。 2.外連線:左右連線。 外連線分為兩種,一種是左連線(Left JOIN)和右連線(Right JOIN) (1)左連線(Left JOIN):語句如下: select * from A Left JOIN B ON A.Aid=B.Bnameid A的欄位全有,查詢出來在結果集的左邊。 (2)右連線(Right JOIN):語句如下:select * from A Right JOIN B ON A.Aid=B.Bnameid 左右連線的sql語句例項:(+),中間函式NVL給空值賦值。 sql="select name,id,area_name from (select a.name,a.id,NVL(c.area_name,"未分配") area_name "+ "from department a, area_department b,area_table c "+ "where a.id= b.f_branch_id(+) "+ "and b.area_code= c.area_code(+)) d where 1=1 ";