久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

JOIN怎么顯示來自多個表的數據

148次閱讀
沒有評論

共計 2563 個字符,預計需要花費 7 分鐘才能閱讀完成。

這篇文章主要介紹“JOIN 怎么顯示來自多個表的數據”,在日常操作中,相信很多人在 JOIN 怎么顯示來自多個表的數據問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JOIN 怎么顯示來自多個表的數據”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

表關系簡介

一、語法

SELECT 字段列表

 FROM TABLE1

[CROSS JOIN TABLE2] |

[NATURAL JOIN TABLE2] |

 [JOIN TABLE2 USING (字段名) ] |

 [JOIN TABLE2 ON (TABLE.COLUMN_NAME = TABLE2.COLUMN_NAME) ] |

[(LEFT | RIGHT | FULL OUT) JOIN TABLE2 ON (TABLE1.COLUMN_NAME = TABLE2.COLUMN_NAME) ];

二、自然連接

1、USING
如果不希望參照被連接表的所有同名列進行等值連接,自然連接將無法滿足要求,可以在連接時使用 USING 子句來設置用于等值連接的列 (參照列) 名。
不允許在參照列上使用表名或者別名作為前綴

–99 語法

SELECT EMPNO, ENAME, SAL, EMP.DEPTNO, DNAME

 FROM EMP

 JOIN DEPT

 USING (DEPTNO);

 

 –92 語法

SELECT EMPNO, ENAME, SAL, EMP.DEPTNO, DNAME

 FROM EMP, DEPT

 WHERE EMP.DEPTNO = DEPT.DEPTNO;

2、ON
如果要參照非同名的列進行等值連接, 或想設置任意的連接條件, 可以使用 On 子句

SELECT EMPNO, ENAME, SAL, EMP.DEPTNO, DNAME

 FROM EMP

 JOIN DEPT

 ON (EMP.DEPTNO = DEPT.DEPTNO);

三、自連接

自己和自己做鏈接

–99 語法

SELECT WORKER.LAST_NAME EMP, MANAGER.LAST_NAME MGR

 FROM EMPLOYEES WORKER

 JOIN EMPLOYEES MANAGER

 ON (WORKER.MANAGER_ID = MANAGER.EMPLOYEE_ID);

 

–92 語法

SELECT WORKER.LAST_NAME EMP, MANAGER.LAST_NAME MGR

 FROM EMPLOYEES WORKER, EMPLOYEES MANAGER

 WHERE WORKER.MANAGER_ID = MANAGER.EMPLOYEE_ID;

四、非等值連接

–99 語法

SELECT E.LAST_NAME, E.SALARY, J.GRADE_LEVEL

 FROM EMPLOYEES E

 JOIN JOB_GRADES J

 ON E.SALARY BETWEEN J.LOWEST_SAL AND J.HIGHEST_SAL;

 

–92 語法

SELECT E.LAST_NAME, E.SALARY, J.GRADE_LEVEL

 FROM EMPLOYEES E, JOB_GRADES J

 WHERE E.SALARY BETWEEN J.LOWEST_SAL AND J.HIGHEST_SAL;

五、INNER|OUTER 連接

1、INNER 連接
兩個表連接,只返回匹配的行,被稱為內連接。

– 查詢所有員工以及其部門名字

–99 語法

SELECT LAST_NAME, DEPARTMENT_NAME

 FROM EMPLOYEES E

 INNER JOIN DEPARTMENTS D

 ON E.DEPARTMENT_ID = D.DEPARTMENT_ID;

–92 語法

SELECT LAST_NAME, DEPARTMENT_NAME

 FROM EMPLOYEES E, DEPARTMENTS D

 WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID;

2、LEFT OUTER | RIGHT OUTER 連接
兩個表在連接過程中除了返回滿足連接條件的行以外還返回左(或右)表中不滿足條件的行,這種連接稱為左(或右)外連接。

– 哪些部門沒有員工,看出部門名字

–99 語法

SELECT DEPARTMENT_NAME

 FROM EMPLOYEES E

 RIGHT JOIN DEPARTMENTS D

 ON E.DEPARTMENT_ID = D.DEPARTMENT_ID

 WHERE LAST_NAME IS NULL;

–92 語法

SELECT DEPARTMENT_NAME

 FROM EMPLOYEES E, DEPARTMENTS D

 WHERE E.DEPARTMENT_ID(+) = D.DEPARTMENT_ID

 AND LAST_NAME IS NULL;

3、FULL OUTER 連接
兩個表在連接過程中除了返回滿足連接條件的行以外還返回兩個表中不滿足條件的行,這種連接稱為全外聯接。

–99

SELECT E.LAST_NAME, D.DEPARTMENT_ID, D.DEPARTMENT_NAME

 FROM EMPLOYEES E

 FULL OUTER JOIN DEPARTMENTS D

 ON E.DEPARTMENT_ID = D.DEPARTMENT_ID;

–92

SELECT E.LAST_NAME, D.DEPARTMENT_ID, D.DEPARTMENT_NAME

 FROM EMPLOYEES E, DEPARTMENTS D

 ON E.DEPARTMENT_ID(+) = D.DEPARTMENT_ID(+);

六、笛卡爾積

笛卡爾集會在下面條件下產生:

1、連接條件被遺漏
2、連接條件不正確
3、所有表中的所有行互相連接

–99 語法

SELECT E.LAST_NAME, D.DEPARTMENT_ID, D.DEPARTMENT_NAME

 FROM EMPLOYEES E

 CROSS JOIN DEPARTMENTS D;

–92 語法

SELECT E.LAST_NAME, D.DEPARTMENT_ID, D.DEPARTMENT_NAME

 FROM EMPLOYEES E, DEPARTMENTS D;

到此,關于“JOIN 怎么顯示來自多個表的數據”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-15發表,共計2563字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 老河口市| 嵩明县| 平舆县| 山丹县| 成都市| 祥云县| 南和县| 兴山县| 石渠县| 汶上县| 高阳县| 奉新县| 荃湾区| 南江县| 台山市| 娄烦县| 石嘴山市| 凌云县| 津市市| 增城市| 藁城市| 南郑县| 松江区| 射洪县| 改则县| 漠河县| 珠海市| 临西县| 化隆| 石泉县| 凤凰县| 根河市| 永丰县| 海口市| 延安市| 潜山县| 汝南县| 襄汾县| 佛山市| 马关县| 广汉市|