這篇文章主要介紹“JOIN怎么顯示來自多個(gè)表的數(shù)據(jù)”,在日常操作中,相信很多人在JOIN怎么顯示來自多個(gè)表的數(shù)據(jù)問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”JOIN怎么顯示來自多個(gè)表的數(shù)據(jù)”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比開原網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式開原網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋開原地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。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
如果不希望參照被連接表的所有同名列進(jìn)行等值連接,自然連接將無法滿足要求,可以在連接時(shí)使用USING子句來設(shè)置用于等值連接的列(參照列)名。
不允許在參照列上使用表名或者別名作為前綴
--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
如果要參照非同名的列進(jìn)行等值連接,或想設(shè)置任意的連接條件,可以使用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;
1、INNER 連接
兩個(gè)表連接,只返回匹配的行,被稱為內(nèi)連接。
--查詢所有員工以及其部門名字
--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 連接
兩個(gè)表在連接過程中除了返回滿足連接條件的行以外還返回左(或右)表中不滿足條件的行,這種連接稱為左(或右)外連接。
--哪些部門沒有員工,看出部門名字
--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 連接
兩個(gè)表在連接過程中除了返回滿足連接條件的行以外還返回兩個(gè)表中不滿足條件的行,這種連接稱為全外聯(lián)接。
--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(+);
笛卡爾集會(huì)在下面條件下產(chǎn)生:
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;
到此,關(guān)于“JOIN怎么顯示來自多個(gè)表的數(shù)據(jù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
標(biāo)題名稱:JOIN怎么顯示來自多個(gè)表的數(shù)據(jù)-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://jinyejixie.com/article46/peehg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站營銷、手機(jī)網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容