国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

oracle各種連接介紹

2019-11-11 03:45:04
字體:
供稿:網(wǎng)友


Oracle各種連接介紹SQL> select * from a1;BBB----------101102103104105SQL> select * from a2;BBB        CCC---------- --------------------101102105SQL> select * from a1,a2 where a1.bbb(+)=a2.bbb;  右連接BBB        BBB        CCC---------- ---------- --------------------101        101102        102105        105SQL> select * from a1,a2 where a1.bbb=a2.bbb(+);  左連接BBB        BBB        CCC---------- ---------- --------------------101        101102        102103104105        105再一個(gè)例子a:id       name6 D1 A2 B3 Cb:id       name1 102 203 305 40右連接:SQL> select a.id,a.name,b.id,b.name from a, b WHERE a.id(+) = b.id;ID  NAME                           ID  NAME--- ------------------------------ --- --------------------1   A                              1   102   B                              2   203   C                              3   30                                   5   40左連接SQL> select a.id,a.name,b.id,b.name from a, b WHERE a.id = b.id(+);ID  NAME                           ID  NAME--- ------------------------------ --- --------------------1   A                              1   102   B                              2   203   C                              3   306   D                                  右連接說明等號(hào)右側(cè)的所有記錄均會(huì)被顯示,無論其在左側(cè)是否得到匹配,左連接與之相反a(+)=b:右連接“(+)”所在位置的另一側(cè)為連接的方向,右連接說明等號(hào)右側(cè)的所有記錄均會(huì)被顯示,無論其在左側(cè)是否得到匹配。a=b(+):左連接內(nèi)連接SQL> select * from a inner join b on a.id=b.id;ID  NAME                           QQQ ID  NAME--- ------------------------------ --- --- --------------------1   A                              1   1   102   B                              1   2   203   C                              1   3   30相當(dāng)于select a.*,b.* from a,b where a.id=b.id外連接SQL> select * from a left join b on a.id=b.id;ID  NAME                           QQQ ID  NAME--- ------------------------------ --- --- --------------------1   A                              1   1   102   B                              1   2   203   C                              1   3   306   D                              1       內(nèi)外連接只有在9i以后才能使用補(bǔ)充外部聯(lián)接 "+" 按其在 "=" 的左邊或右邊分左聯(lián)接和右聯(lián)接 . 若不帶 "+" 運(yùn)算符的表中的一個(gè)行不直接匹配于帶 "+" 預(yù)算符的表中的任何行 , 則前者的行與后者中的一個(gè)空行相匹配并被返回 . 若二者均不帶 '+', 則二者中無法匹配的均被返回 . 利用外部聯(lián)接 "+", 可以替代效率十分低下的 not in 運(yùn)算 , 大大提高運(yùn)行速度 . 例如 , 下面這條命令執(zhí)行起來很慢 select a.empno from emp a where a.empno not in (select empno from emp1 where job='SALE'); ---- 倘若利用外部聯(lián)接 , 改寫命令如下 : select a.empno from emp a ,emp1 b where a.empno=b.empno(+) and b.empno is null and b.job='SALE';

===================================================================

select * from a, b where a.id = b.id;      對(duì)于外連接,Oracle中可以使用“(+)”來表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面將配合實(shí)例一一介紹。 1. LEFT OUTER JOIN:左外關(guān)聯(lián)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); 等價(jià)于 SELECT e.last_name, e.department_id, d.department_name  FROM employees e, departments d  WHERE e.department_id=d.department_id(+); 結(jié)果為:所有員工及對(duì)應(yīng)部門的記錄,包括沒有對(duì)應(yīng)部門編號(hào)department_id的員工記錄。 2. RIGHT OUTER JOIN:右外關(guān)聯(lián) 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); 等價(jià)于 SELECT e.last_name, e.department_id, d.department_name  FROM employees e, departments d  WHERE e.department_id(+)=d.department_id; 結(jié)果為:所有員工及對(duì)應(yīng)部門的記錄,包括沒有任何員工的部門記錄。 3. FULL OUTER JOIN:全外關(guān)聯(lián) 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); 結(jié)果為:所有員工及對(duì)應(yīng)部門的記錄,包括沒有對(duì)應(yīng)部門編號(hào)department_id的員工記錄和沒有任何員工的部門記錄。 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉门市| 宁河县| 铜川市| 神木县| 曲阳县| 峨眉山市| 福清市| 门头沟区| 遵义县| 修武县| 枝江市| 武山县| 西乌| 雅安市| 沭阳县| 环江| 英德市| 淮阳县| 陕西省| 图们市| 锦屏县| 久治县| 安义县| 鹿泉市| 澜沧| 山东| 九台市| 栾城县| 定边县| 普宁市| 栖霞市| 邵武市| 长汀县| 伊宁市| 和田县| 嘉荫县| 会宁县| 和平区| 曲沃县| 大悟县| 襄樊市|