日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

笛卡尔集基本原理,等值连接,不等值连接,外连接,自连接

發(fā)布時(shí)間:2024/9/27 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 笛卡尔集基本原理,等值连接,不等值连接,外连接,自连接 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


1笛卡爾集基本原理

兩個(gè)表如果笛卡爾集運(yùn)算

(1)行數(shù)是兩個(gè)表行數(shù)相乘的結(jié)果

(2)列是兩個(gè)表合集

案例:

錯(cuò)誤查詢方式:

select count(e.EMPNO)

from emp e,dept d;

正確查詢方式:

select count(e.EMPNO)

from emp e,dept d

where e.deptno = d.deptno;

2.等值連接

Eg:查詢員工信息,員工號(hào),姓名,月薪,部門(mén)名稱

select e.empno,e.ename,e.sal,d.dname

from emp e,dept d

where e.deptno = d.deptno;

3.不等值連接

Eg:查詢員工信息,員工號(hào),姓名,月薪,薪水級(jí)別

select e.empno,e.ename,e.sal,s.grade

from emp e,salgrade s

where e.sal >= s.losal and e.sal <=s.hisal;(可以用between and來(lái)替換)

4.外連接

Eg:按部門(mén)統(tǒng)計(jì)員工人數(shù):部門(mén)號(hào)部門(mén)名稱各部門(mén)人數(shù)

思路:

A:求各部門(mén)的人數(shù)..要把各個(gè)部門(mén)數(shù)據(jù)劃分開(kāi)….,要分組…..

???B:各部門(mén)人數(shù),要關(guān)聯(lián)員工表(因?yàn)椴块T(mén)人數(shù)是由員工表確定的,所以還要檢索員工表)

所以需要多表查詢

現(xiàn)象一(漏掉了一個(gè)部門(mén))

select d.deptno,d.dname,count(e.empno)

from dept d,emp e

where d.deptno = e.deptno

group by d.deptno,d.dname;

分析:

我們的期望想把40號(hào)部門(mén)給統(tǒng)計(jì)出來(lái)...

40號(hào)部門(mén)沒(méi)有被統(tǒng)計(jì)出來(lái)的原因:員工表中沒(méi)有40號(hào)部門(mén)的員工...d.deptno = e.deptno (d.40 = e.40)

????????本質(zhì):等值條件不滿足...

????????外連接技術(shù)出現(xiàn)的原因

????????+左外連接:?????+號(hào)在..=號(hào)的右邊,左外連接....

????????+右外連接:?????+號(hào)在..=號(hào)的左邊,左外連接....

???????????????????????????我想把部門(mén)表的所有列都顯示出來(lái),就需要找到部門(mén)表..在對(duì)方寫(xiě)(+)

左外連接:

select d.deptno,d.dname,count(e.empno)

??????from dept d,emp e

??????where d.deptno = e.deptno(+)

??????group by d.deptno,d.dname;

總結(jié):關(guān)于(+),它在那邊就以它為標(biāo)準(zhǔn),讓它的數(shù)據(jù)都顯示。上面的截圖中的意思是e表中的都顯示,以e表為標(biāo)準(zhǔn)。e表和d表連接,因?yàn)閐.deptno在e.deptno的左邊,隨意上面的叫左外連接。

5自連接

--查詢員工信息 ,老板信息

???????????????????????????顯示:??****的老板是****

???????????????????????????

---思路1:員工信息查員工表

???????????????????????????查老板信息,還要查員工表...

???????????????????????????

---思路2員工表的老板?老板表的員工???????????????

???????????????????????????selecte.ename, b.ename

???????????????????????????fromemp e, emp b

???????????????????????????wheree.mgr = b.empno

?

自連接案例:

select e.ename || '的老板是'||nvl(b.ename,'他自己')

from emp e,emp b

where e.mgr = b.empno(+);

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的笛卡尔集基本原理,等值连接,不等值连接,外连接,自连接的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。