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

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的渭城網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
from emp e, dept d
where e.deptno = d.deptno;
在之前所使用的查詢操作之中,都是從一張表之中查詢出所需要的內(nèi)容,那么如果現(xiàn)在一個查詢語句需要顯示多張表的數(shù)據(jù),則就必須應(yīng)用到多表查詢的操作,而多表查詢的語法如下:
SELECT [DISTINCT] * | 字段 [別名] [,字段 [別名] ,…] FROM 表名稱 [別名], [表名稱 [別名] ,…] [WHERE 條件(S)] [ORDER BY 排序字段 [ASC|DESC] [,排序字段 [ASC|DESC] ,…]]。
擴展資料:
Oracle 常用的關(guān)聯(lián)查詢:
Oracle外連接:
(1)左外連接 (左邊的表不加限制)。
(2)右外連接(右邊的表不加限制)。
(3)全外連接(左右兩表都不加限制)。
outer join則會返回每個滿足第一個(頂端)輸入與第二個(底端)輸入的聯(lián)接的行。它還返回任何在第二個輸入中沒有匹配行的第一個輸入中的行。
外連接分為三種: 左外連接,右外連接,全外連接。 對應(yīng)SQL:LEFT/RIGHT/FULL OUTER JOIN。 通常我們省略outer 這個關(guān)鍵字。 寫成:LEFT/RIGHT/FULL JOIN。
在左外連接和右外連接時都會以一張表為基表,該表的內(nèi)容會全部顯示,然后加上兩張表匹配的內(nèi)容。 如果基表的數(shù)據(jù)在另一張表沒有記錄。 那么在相關(guān)聯(lián)的結(jié)果集行中列顯示為空值(NULL)。
oracle中在WHERE條件里寫輸入:
select * from usermenu
left join sysuser on sysuser.yhdh=usermenu.yhdh
left join program on ?program.cxdh=usermenu.cxdh
即可關(guān)聯(lián)起來。
關(guān)聯(lián)也分為好幾種:
SELECT?*?FROM?TABLE1?A,TABLE2?B,TABLE3?C?WHERE?A.FIELD_KEY=B.FIELD_KEY?AND?B.FIELD_KEY=C.FIELD_KEY?(正常關(guān)聯(lián))
SELECT?*?FROM?TABLE1?A,TABLE2?B,TABLE3?C?WHERE?A.FIELD_KEY=B.FIELD_KEY(+)?AND?B.FIELD_KEY=C.FIELD_KEY(+)?(左關(guān)聯(lián))
SELECT?*?FROM?TABLE1?A,TABLE2?B,TABLE3?C?WHERE?A.FIELD_KEY(+)=B.FIELD_KEY?AND?B.FIELD_KEY(+)=C.FIELD_KEY?(右關(guān)聯(lián))
要把Oracle將三張表關(guān)聯(lián)起來時可以使用Oracle Database的指令,也就是Oracle數(shù)據(jù)庫的指令將其關(guān)聯(lián)。
1 這個是表與表關(guān)聯(lián) 創(chuàng)建視圖
2 表與視圖關(guān)聯(lián)創(chuàng)建新的視圖
創(chuàng)建視圖 使用group by 計算出每一個人銷售總額
表與視圖關(guān)聯(lián)創(chuàng)建新的視圖
有兩種辦法:
第一種方法是通過外鍵:
假設(shè)有兩張表,
A表(AId,AName) B(BId,BName)表 ,要想把這兩者關(guān)聯(lián)起來的話。可以通過外鍵來關(guān)聯(lián),在B表或者A表中添加一個外鍵。這里就以B表把B(BId,AId(外鍵),BName),這樣通過外鍵兩張表就可以聯(lián)系起來了,例如我們在查詢的時候通過AId就可以關(guān)聯(lián)查詢兩張表的數(shù)據(jù)了。
第二種方法就是增加一張表:
還是拿A表(AId,AName) B(BId,BName)表來舉例把,
我們可以增加個C表來聯(lián)系A(chǔ)B表之間的關(guān)系
C表中只要放AB表的主鍵就行了
C(AId,BId),這樣我們就可以通過C表來關(guān)聯(lián)AB表了。
呵呵
就是在表與表之間建立起鏈接就行了,這個鏈接就叫做外鍵—FC;列入:create
table
stu(stuid
int,sName
varchar2(20));
create
table
score(stid
int,cid
int);
alter
table
stu
add
constraint
pk_stuid
primary
key(stuid);
alter
table
score
add
constraint
fk_stuid
foreign
key(stid)
references
stu(stuid);
stuid這個屬性就是foreign
key就是外鍵;他就是鏈接stu表和score表的橋梁。
例如下面這兩個表中分別存的時員工的基本信息和公司的部門信息。我們?yōu)閈x0d\x0acreate table dept\x0d\x0a(deptno number(10) not null,\x0d\x0adeptname varchar2(30) not null,\x0d\x0aconstraint pk_dept primary key(deptno));\x0d\x0a和\x0d\x0acreate table emp\x0d\x0a( empno number(10) not null,\x0d\x0afname varchar2(20) ,\x0d\x0alname varchar2(20) ,\x0d\x0adept number(10) ,\x0d\x0aconstraint pk_emp primary key(empno));\x0d\x0a\x0d\x0a然后我們現(xiàn)在增加外鍵試一下on delete cascade\x0d\x0a\x0d\x0aalter table emp\x0d\x0aadd constraint fk_emp_dept foreign key(dept) references dept(deptno) on delete cascade;\x0d\x0a先增加外鍵。然后插入數(shù)據(jù)。\x0d\x0ainsert into dept values(1,’銷售部’);\x0d\x0ainsert into dept values(2,’財務(wù)部’);\x0d\x0ainsert into emp values (2,’Mary’,'Song’,1);\x0d\x0ainsert into emp values (3,’Linda’,'Liu’,2);\x0d\x0ainsert into emp values (4,’Linlin’,'Zhang’,1);\x0d\x0a然后現(xiàn)在我要刪除銷售部,會有什么后果呢?\x0d\x0adelete from dept where deptno = 1;\x0d\x0a我們發(fā)現(xiàn)除了dept中的一條數(shù)據(jù)被刪除了,emp中兩條數(shù)據(jù)也被刪除了,其中emp中的兩條數(shù)據(jù)是參照了銷售部的這條數(shù)據(jù)的,這就很容易理解on delete cascade了。
文章標題:oracle怎么做表關(guān)聯(lián),怎樣做關(guān)聯(lián)表
網(wǎng)站URL:http://chinadenli.net/article45/dsgsoei.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、企業(yè)建站、品牌網(wǎng)站設(shè)計、做網(wǎng)站、微信小程序、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)