許多人愁不會(huì)Oracle 10g的高級(jí)查詢,其實(shí)也是比較簡(jiǎn)單的。在查詢數(shù)據(jù)時(shí),為了獲取完整的信息就要將多個(gè)表連接起來(lái),這也是關(guān)系數(shù)據(jù)庫(kù)的一個(gè)重要特性---表之間存在的關(guān)系。這種關(guān)系可以將表的數(shù)據(jù)聯(lián)系起來(lái)。多表查詢就是根據(jù)這種關(guān)系,實(shí)現(xiàn)從多個(gè)表中獲取數(shù)據(jù)還原信息。下面這個(gè)圖就是我將要操作的表結(jié)構(gòu)。

十載的湯陰網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整湯陰建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“湯陰網(wǎng)站設(shè)計(jì)”,“湯陰網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
工具/材料
電腦
Oracle 10g
01
基本連接查詢
在簡(jiǎn)單查詢中我們一般只使用了from字句的一個(gè)表,然而在關(guān)系數(shù)據(jù)庫(kù)中,表與表之間往往是存在關(guān)系的,這就是要求從多個(gè)表中檢索數(shù)據(jù),以輸出更有意義的結(jié)果。最簡(jiǎn)單的連接方式就是在select語(yǔ)句中,通過(guò)from子句使用多個(gè)表,并用逗號(hào)將不同的基本表隔開(kāi)。下面語(yǔ)句將商品信息表和供應(yīng)商信息表連接起來(lái),查詢其中的商品名稱,產(chǎn)地,供應(yīng)商名稱。
02
但此時(shí)結(jié)果顯示該查詢語(yǔ)句共顯示了200行記錄,這顯然是錯(cuò)誤的。因?yàn)閮H僅通過(guò)select和from子句連接那么查詢結(jié)果將是一個(gè)通過(guò)笛卡兒積生成的表,包含大量無(wú)意義的信息。而where語(yǔ)句可以有效避免笛卡兒積的出現(xiàn)。只有當(dāng)兩個(gè)表具有相同匹配的列時(shí)才返回結(jié)果集。例如下面語(yǔ)句通過(guò)在where子句中使用連接條件,實(shí)現(xiàn)了每件商品名稱,產(chǎn)地,供應(yīng)商名稱信息。
03
但也要注意一個(gè)問(wèn)題如果想要查詢“供應(yīng)商編號(hào)”應(yīng)該怎么處理,因?yàn)閮蓚€(gè)表中都有“供應(yīng)商編號(hào)”,所以應(yīng)該查詢的時(shí)候限定一下,說(shuō)明究竟是哪一個(gè)表中的。
04
join連接查詢
join用于連接兩個(gè)不同的表,on用于給出這兩個(gè)表之間的連接條件。如果進(jìn)一步限制查詢范圍,可以在后面添加where語(yǔ)句,下面示例使用從商品信息表和供應(yīng)商信息表查詢單價(jià)大于1200元的商品信息。
05
并且join連接也可以實(shí)現(xiàn)兩個(gè)以上的表查詢,寫(xiě)語(yǔ)句的時(shí)候一個(gè)join對(duì)應(yīng)一個(gè)on,看下面的例子。
06
自然連接查詢
其實(shí)自然連接查詢(natural join)就是更加方便的join連接查詢,自然連接不必指定任何同等連接條件,系統(tǒng)將自動(dòng)判斷出具有相同名稱的列然后形成匹配,但注意自然連接是根據(jù)兩個(gè)表中同名的列而進(jìn)行連接的,當(dāng)列不同名時(shí),自然連接將失去意義。
07
集合操作查詢
集合操作就是將兩個(gè)或多個(gè)SQL查詢結(jié)合構(gòu)成符合查詢,集合操作符有union(并集)、intersect(交集)、minus(差集),現(xiàn)在以u(píng)nion為例,union查詢必須從每個(gè)表中讀取相同的列。
08
子查詢
子查詢和連接查詢一樣提供了使用單個(gè)查詢?cè)L問(wèn)多個(gè)表中的數(shù)據(jù)的方法,使用in關(guān)鍵字,意思是在in后面的集合中查詢我們需要的,即in后面是限定條件。
特別提示
注意在Oracle 10g中的標(biāo)點(diǎn)符號(hào)是英文狀態(tài)下的
一般一個(gè)oracle只有一個(gè)數(shù)據(jù)庫(kù),你要查看可以這樣,我的電腦——右鍵管理
---服務(wù)和應(yīng)用程序----打開(kāi)服務(wù)--找到oracle服務(wù)oracleServer后面加的就是數(shù)據(jù)庫(kù)名。
如果是oracle9i版本,可以考慮如下兩步實(shí)現(xiàn):(10g直接執(zhí)行第二步就可以了)統(tǒng)計(jì)一個(gè)用戶下所有表的行數(shù):1.execdbms_stats.gather_schema_stats(owner='用戶名');2.selectsum(num_rows)fromuser_tables;統(tǒng)計(jì)全庫(kù)所有表的行數(shù):1.execdbms_stats.gather_database_stats(ESTIMATE_PERCENT='30');2.selectsum(num_rows)fromdba_tables;生產(chǎn)環(huán)境中需謹(jǐn)慎考慮收集新的統(tǒng)計(jì)信息后對(duì)應(yīng)用產(chǎn)生的影響。
打開(kāi)命令行:輸入CMD,回車(chē),輸入sqlplus,回車(chē)。
這樣可以看到本地安裝的ORACLE的版本。
要看某個(gè)映射的ORACLE版本,
輸入:sqlplus sys/sys@orcl as sysdba,回車(chē),
則在顯示的內(nèi)容后邊有一個(gè)連接到:之后的內(nèi)容是映射的ORACLE版本信息;
看你怎么登陸的,是用PLSQL客戶端還是命令登錄。
命令登錄:
sqlplus /nolog
conn username/password@數(shù)據(jù)庫(kù)名 as sysdba(這里用戶名為sys、system,) 或
conn 用戶名/密碼@數(shù)據(jù)庫(kù)名 (這里用戶為新建的普通用戶并且已有權(quán)限,)
按Enter后提示"已連接"就連接成功了,就可以像sql語(yǔ)句一樣增刪改查數(shù)據(jù)了
查詢語(yǔ)句:select * from 表
PLSQL客戶端登錄:PLSQL Developer
登錄的時(shí)候空密碼的話為"as" ,sys用戶需最后一行選擇sysdba,普通用戶選擇normal
進(jìn)去之后下拉中間AllObject框,選擇MyObject,左邊菜單點(diǎn)擊tables ,表就出來(lái)了,
點(diǎn)擊表右鍵就可以query data
或者點(diǎn)擊上面菜單filenewcommand window
這里面就可以像cmd命令一樣拼sql語(yǔ)句
分享標(biāo)題:oracle10g怎么看,oracle10g什么時(shí)候出的
文章轉(zhuǎn)載:http://chinadenli.net/article17/dsiosgj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、云服務(wù)器、微信小程序、標(biāo)簽優(yōu)化
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)