關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)能夠?qū)崿F(xiàn)的三種基本關(guān)系運(yùn)算

關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能夠?qū)崿F(xiàn)的三種基本關(guān)系運(yùn)算是選擇(從關(guān)系中找出滿足給定條件的元組的操作稱為選擇)、投影(從關(guān)系模式中指定若干個(gè)屬性組成新的關(guān)系)、連接(是關(guān)系的橫向組合)。

關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)能夠?qū)崿F(xiàn)的三種基本關(guān)系運(yùn)算

選擇

使用比較運(yùn)算符、邏輯運(yùn)算符,挑出滿足條件的元組,運(yùn)算出結(jié)果!

(推薦學(xué)習(xí):MySQL視頻教程

例子

查詢出工資大于2000的員工的姓名

 SELECT ename FROM emp WHERE sal > 2000;

過(guò)程:首先查詢出emp表的所有結(jié)果,使用選擇運(yùn)算篩選得出工資大于2000的結(jié)果,最后使用投影運(yùn)算得出工資大于2000員工的名字!

投影

推薦課程:mysql教程。

投影的運(yùn)算過(guò)程:

首先按照j1,j2,…,jk的順序,從關(guān)系R 中取出列序號(hào)為j1,j2,…,jk(或?qū)傩悦蛄袨锳j1,Aj2,…,Ajk )的k 列,然后除去結(jié)果中的重復(fù)元組,構(gòu)成一個(gè)以Aj1,Aj2,…,Ajk為屬性順序的k目關(guān)系。

簡(jiǎn)單來(lái)說(shuō):取出一個(gè)查詢結(jié)果中某某列,并消除重復(fù)的數(shù)據(jù),這就是投影!

投影是從列的角度進(jìn)行的運(yùn)算

投影的下標(biāo)可是列序號(hào),也可是列屬性名

例子

查詢出所有部門的編號(hào)

SELECT deptno FROM dept;

查詢時(shí)的過(guò)程:先查詢得出dept表的所有結(jié)果,再通過(guò)投影運(yùn)算只提取”deptno”的列數(shù)據(jù),如果 SELECT 后邊跟的是”*”,那么就是投影全部數(shù)據(jù)!

連接運(yùn)算

連接運(yùn)算其實(shí)就在笛卡爾積運(yùn)算的基礎(chǔ)上限定了條件(某列大于、小于、等于某列),只匹配和條件相符合的,從而得出結(jié)果!

自然連接

自然連接就是一種特殊的連接運(yùn)算,它限定的條件是【某列等于某列】。自然連接我們經(jīng)常使用到。消除笛卡爾積其實(shí)就是自然連接了!

例子

SELECT * FROM emp,dept WHERE dept.deptno = emp.deptno;

設(shè)定將dept表的deptno列和emp的deptno列為相同【這就是自然連接】

更多MySQL相關(guān)技術(shù)文章,請(qǐng)?jiān)L問(wèn)MySQL視頻教程欄目進(jìn)行學(xué)習(xí)!

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享