日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Oracle 10g如何實(shí)現(xiàn)高級(jí)查詢

許多人愁不會(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) 。

Oracle 10g如何實(shí)現(xiàn)高級(jí)查詢


工具/材料電腦
【Oracle 10g如何實(shí)現(xiàn)高級(jí)查詢】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)下的

    推薦閱讀