亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        “EXISTS”在SQL中的應(yīng)用研究

        2010-04-16 09:15:38肖海蓉
        電腦與電信 2010年9期
        關(guān)鍵詞:語義數(shù)據(jù)庫

        肖海蓉

        (陜西理工學(xué)院,陜西漢中723000)

        1.引言

        EXISTS的使用在實(shí)際的數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)中有著較為廣泛的應(yīng)用,其在SQL的教學(xué)、實(shí)踐環(huán)節(jié)中也是學(xué)生比較難于理解和掌握的內(nèi)容。但是,目前在大多數(shù)的教材和參考書上只是簡(jiǎn)單地通過一兩個(gè)例子介紹了帶有存在量詞EXISTS的書寫語句,并沒有給出實(shí)質(zhì)性的說明。本文根據(jù)作者多年的教學(xué)經(jīng)驗(yàn),總結(jié)出EXISTS在不同的場(chǎng)合下的使用情況,并以學(xué)生接觸較多的實(shí)際案例為依托,在SQL Server環(huán)境下得到了驗(yàn)證。

        2.案例導(dǎo)入

        以網(wǎng)上商品銷售系統(tǒng)的數(shù)據(jù)庫為例,對(duì)EXISTS在不同場(chǎng)合的使用進(jìn)行探討,下面給出了數(shù)據(jù)庫中的客戶表、商品表、商品銷售表。

        表1 商品表

        表2 客戶表

        3.帶有EXISTS的SQL語句的實(shí)例設(shè)計(jì)

        我們知道,SQL語句并不提供語義中含有全稱量詞(For All)的實(shí)現(xiàn)方法,具體實(shí)現(xiàn)時(shí),可以把帶有全稱量詞的謂詞轉(zhuǎn)換為等價(jià)的帶有存在量詞(EXISTS)的謂詞形式。

        表3 產(chǎn)品銷售表

        3.1 語義中有“全是”的情況

        例:為了統(tǒng)計(jì)商品銷售的情況,查詢?nèi)恰芭笨蛻糍徺I的商品編號(hào)。

        問題分析:即在查找結(jié)果中的商品編號(hào)沒有“男”客戶購買過此商品??梢允褂瞄g接的方法,先求客戶購買過的所有商品編號(hào)以及男客戶購買的商品編號(hào),兩者再做差運(yùn)算就可得到所求結(jié)果,這時(shí)使用SQL語句提供的組合查詢minus,則設(shè)計(jì)查詢語句如下:

        但在SQL Server2005的環(huán)境下,分析語句后結(jié)果如圖1所示。這是因?yàn)樵赟QLServer、MySQL在內(nèi)的幾種SQL產(chǎn)品的不同版本并不完全支持標(biāo)準(zhǔn)SQL提供的INTERSECT和MINUS兩種操作。因此,我們必須尋求另外一種解決此問題的方法。可以把“全是”轉(zhuǎn)換為等價(jià)的帶有存在量詞(EXISTS)的形式語義,其等價(jià)的語義為:查找這樣的商品編號(hào),不存在男客戶也購買了此商品的情況存在。則設(shè)計(jì)的SQL語句如下:

        需要注意的是:在含有“全是”語義中,不能用謂詞IN來代替EXISTS,如果使用IN的話,則查詢結(jié)果中會(huì)還有男女客戶都購買的商品編號(hào)。當(dāng)然,此類問題還可以使用=all謂詞加以實(shí)現(xiàn)。

        3.2 語義中有“全部”“、每個(gè)”或“至少包含”的情況

        例:為了統(tǒng)計(jì)不同客戶購買商品的情況,查詢購買過全部商品的客戶名。

        問題分析:查詢購買過全部商品的客戶姓名,即找這樣的商品名,不存在某一個(gè)商品他不購買的情況。通過等價(jià)的語義轉(zhuǎn)換,同樣可以把SQL語句設(shè)計(jì)成EXISTS的形式如下:

        同樣,此類問題的SQL查詢語句也不能使用IN代替EXISTS。

        3.3 語義中有否定的“沒有”、“未”的情況

        例:為了統(tǒng)計(jì)哪些商品未曾有過銷售記錄,求沒有客戶購買過的商品名。

        問題分析:沒有客戶購買過的商品名,即找這樣的商品,在商品銷售表中不存在該商品有銷售記錄。轉(zhuǎn)換為等價(jià)的帶有EXISTS的SQL語句如下:

        執(zhí)行的結(jié)果如圖4所示,由于本數(shù)據(jù)庫中不存在哪個(gè)商品未銷售過,所以執(zhí)行結(jié)果為空。

        這種類型同樣能夠解決諸如“查詢購買了那個(gè)商品,但沒有購買另一種商品”的情況。

        3.4 語義中有“既…又”、“并且”和“或”的情況

        例:查詢購買了商品編號(hào)“s1001”,并且又購買了商品編號(hào)“s2002”的客戶名。

        問題分析:此類問題同樣可轉(zhuǎn)換為帶有EXISTS的SQL語句,設(shè)計(jì)的語句如下:

        其執(zhí)行結(jié)果如圖5所示。

        4.結(jié)束語

        在數(shù)據(jù)庫原理課程的教學(xué)中,帶有EXISTS的SQL查詢語句一直以來是教學(xué)中的一個(gè)難點(diǎn),也是學(xué)生最頭痛的問題,文章以SQL Server2005為實(shí)現(xiàn)環(huán)境,通過實(shí)際的案例研究,總結(jié)出在SQL語句的設(shè)計(jì)中,如何正確靈活地使用EXISTS的情況,更好地掌握SQL語句的書寫技巧。

        [1]李春葆,數(shù)據(jù)庫原理及應(yīng)用系統(tǒng)解析[M].北京:清華大學(xué)出版社,2002.

        [2]高榮芳等,數(shù)據(jù)庫原理[M].西安:西安電子科技大學(xué)出版社,2003.

        [3]苗雪蘭等,數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程[M].北京:機(jī)械工業(yè)出版社,2007.

        [4]肖海蓉.SQL中分組查詢的設(shè)計(jì)與應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2009,5:85-87.

        [5]肖海蓉.關(guān)系代數(shù)中“除法”運(yùn)算與SQL中帶有exists子查詢的對(duì)比教學(xué)[J].電腦學(xué)習(xí),2009,5:158-159.

        猜你喜歡
        語義數(shù)據(jù)庫
        語言與語義
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        “上”與“下”語義的不對(duì)稱性及其認(rèn)知闡釋
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        認(rèn)知范疇模糊與語義模糊
        “深+N季”組配的認(rèn)知語義分析
        語義分析與漢俄副名組合
        夫妇交换刺激做爰视频| 精品国产一区二区三区a| 不卡一区二区黄色av| 熟妇激情内射com| 99精品久久这里只有精品| 蜜桃av无码免费看永久| 亚洲成人一区二区三区不卡| 一区二区亚洲 av免费| 加勒比婷婷色综合久久| 国产综合久久久久久鬼色| 曰本女人与公拘交酡免费视频 | 亚洲第一se情网站| 中国大陆一级毛片| 久久久人妻一区精品久久久| 青青草精品在线视频观看| 欧美粗大猛烈老熟妇| 亚洲AV无码久久久一区二不卡| 国产女人高潮的av毛片| 亚洲国产美女高潮久久久| 日本道精品一区二区三区| 亚洲国产精品国语在线| 亚洲免费福利视频网站| 国产成人无码a区在线观看导航 | 国产在线精品一区二区不卡| 亚洲无码激情视频在线观看 | 国产日韩欧美视频成人| 免费人妖一区二区三区| 久久综合九色综合久99| 九九精品视频在线观看| 我和丰满老女人性销魂| 国产亚洲成人av一区| 亚洲欧美激情精品一区二区| 天美麻花果冻视频大全英文版 | 色婷婷久久免费网站| 日本黄色影院一区二区免费看 | 少妇饥渴xxhd麻豆xxhd骆驼| 久久丁香花综合狼人| 日本视频一区二区三区在线观看| 色拍自拍亚洲综合图区| 亚洲VA不卡一区| 中文字幕人妻互换激情 |