<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-28  評論-15  文章-81  trackbacks-0

    一般的相等連接:
    select * from a, b where a.id = b.id;
    這個就屬于內連接。

    對于外連接:
    Oracle中可以使用“(+) ”來表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN

    LEFT OUTER JOIN:左外關聯
    SELECT e.last_name, e.department_id, d.department_name
    FROM employees e
    LEFT OUTER JOIN departments d
    ON (e.department_id = d.department_id);
    等價于
    SELECT e.last_name, e.department_id, d.department_name
    FROM employees e, departments d
    WHERE e.department_id=d.department_id(+)
    結果為:所有員工及對應部門的記錄,包括沒有對應部門編號department_id的員工記錄。

    RIGHT OUTER JOIN:右外關聯
    SELECT e.last_name, e.department_id, d.department_name
    FROM employees e
    RIGHT OUTER JOIN departments d
    ON (e.department_id = d.department_id);
    等價于
    SELECT e.last_name, e.department_id, d.department_name
    FROM employees e, departments d
    WHERE e.department_id(+)=d.department_id
    結果為:所有員工及對應部門的記錄,包括沒有任何員工的部門記錄。

    FULL OUTER JOIN:全外關聯
    SELECT e.last_name, e.department_id, d.department_name
    FROM employees e
    FULL OUTER JOIN departments d
    ON (e.department_id = d.department_id);
    結果為:所有員工及對應部門的記錄,包括沒有對應部門編號department_id的員工記錄和沒有任何員工的部門記錄。

    ORACLE8i是不直接支持完全外連接的語法,也就是說不能在左右兩個表上同時加上(+),下面是在ORACLE8i可以參考的完全外連接語法
    select t1.id,t2.id from table1 t1,table t2 where t1.id=t2.id(+)
    union
    select t1.id,t2.id from table1 t1,table t2 where t1.id(+)=t2.id

    連接類型 定義 圖示 例子
    內連接 只連接匹配的行 select A.c1,B.c2 from A join B on A.c3 = B.c3;
    左外連接 包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行)以及右邊表中全部匹配的行 select A.c1,B.c2 from A left join B on A.c3 = B.c3;
    右外連接 包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行)以及左邊表中全部匹配的行 select A.c1,B.c2 from A right join B on A.c3 = B.c3;
    全外連接 包含左、右兩個表的全部行,不管在另一邊的表中是否存在與它們匹配的行 select A.c1,B.c2 from A full join B on A.c3 = B.c3;
    (theta)連接 使用等值以外的條件來匹配左、右兩個表中的行 select A.c1,B.c2 from A join B on A.c3 != B.c3;
    交叉連接 生成笛卡爾積——它不使用任何匹配或者選取條件,而是直接將一個數據源中的每個行與另一個數據源的每個行一一匹配   select A.c1,B.c2 from A,B;
    posted on 2008-06-04 11:05 譚明 閱讀(248) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 亚洲成人高清在线观看| 色噜噜AV亚洲色一区二区| 亚洲精品视频专区| 免费看男女下面日出水视频| 亚洲av片不卡无码久久| 人妻视频一区二区三区免费| 亚洲娇小性xxxx色| 无码国产精品久久一区免费| 亚洲日本天堂在线| 宅男666在线永久免费观看| 国产区图片区小说区亚洲区| 69视频在线观看免费| 亚洲国产高清美女在线观看| 国产高清免费视频| 亚洲中文字幕无码亚洲成A人片| 女人张开腿给人桶免费视频| 亚洲国产精品一区二区久久hs | 亚洲va在线va天堂va不卡下载| 久久成人a毛片免费观看网站| 亚洲日韩区在线电影| 国产在线观看免费观看不卡| 亚洲an天堂an在线观看| 中文免费观看视频网站| 亚洲AV无码国产一区二区三区| 国产精品V亚洲精品V日韩精品| 性色av极品无码专区亚洲| 亚洲免费视频一区二区三区| 香蕉免费一区二区三区| 亚洲七久久之综合七久久| AV在线播放日韩亚洲欧| 99爱免费观看视频在线| 婷婷亚洲综合五月天小说| 99在线视频免费观看视频| 九九久久国产精品免费热6| 亚洲高清在线视频| 在线免费一区二区| 免费无码作爱视频| 亚洲色欲色欲www在线播放| 日本亚洲国产一区二区三区| 无人影院手机版在线观看免费| 国产精品免费视频观看拍拍|