av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

實(shí)例講解SQL Server中非常有用EXISTS結(jié)構(gòu)

瀏覽:54日期:2023-11-04 13:28:47
EXISTS結(jié)構(gòu)

EXISTS結(jié)構(gòu)是一個(gè)TSQL函數(shù),這個(gè)函數(shù)會(huì)就圓括號(hào)中的子查詢返回一個(gè)布爾變量。如果子查詢返回了任意行的話,這個(gè)結(jié)構(gòu)就返回真;否則,它就返回假。這個(gè)結(jié)構(gòu)特別適用于查詢表中是否存在某些記錄。它也非常適合來決定是否在表中運(yùn)行更新或者插入語句(在這篇文章中,隨后我將向大家介紹)。

Listing A中創(chuàng)建了一個(gè)表并插入了一些數(shù)據(jù),這樣你就可以利用這張表來看看EXISTS結(jié)構(gòu)是如何工作的了。Listing B中的腳本使用EXISTS結(jié)構(gòu)在SalesHistory表中檢查每一行,并根據(jù)已存在的行得到一個(gè)變量。這個(gè)腳本將返回1(真),這意味著SalesHistory表包含你所要查詢的行。

在這種情況下,一旦在SalesHistory表中找到了一條記錄,EXISTS結(jié)構(gòu)就不會(huì)繼續(xù)查找,并馬上返回1。使用EXISTS結(jié)構(gòu)額外的好處就是,一旦它找到滿足條件的記錄,就會(huì)立即返回。

Listing C與上面的腳本類似,但是它的返回值是0,因?yàn)樵谶@個(gè)條件下,EXISTS條件不滿足。

由于EXISTS結(jié)構(gòu)的工作原理,所以下面的語句所實(shí)現(xiàn)的功能是一樣的。

SELECT * FROM SalesHistoryWHERE EXISTS(SELECT NULL)SELECT * FROM SalesHistoryWHERE 1 = 1SELECT * FROM SalesHistoryWHERE EXISTS(SELECT 1)在剛才的腳本中,你可能會(huì)對(duì)下面的語句感到迷惑:SELECT * FROM SalesHistoryWHERE EXISTS(SELECT NULL)

因?yàn)镹ULL在數(shù)據(jù)庫中是一個(gè)值(它是一個(gè)未知的值),在出現(xiàn)NULL值的地方EXISTS結(jié)構(gòu)都將返回真。

開發(fā)者很少使用EXISTS對(duì)子查詢進(jìn)行操作。下面的查詢將返回同樣的結(jié)果集,雖然它們的結(jié)構(gòu)不同。第一個(gè)查詢使用了EXISTS的相關(guān)子查詢,第二查詢?cè)赟alesHistory表中,將SalePrice字段與該字段的總平均值進(jìn)行比較。

SELECT * FROM SalesHistory shWHERE EXISTS( SELECT AVG(SalePrice) FROM SalesHistory shi HAVING AVG(SalePrice) > sh.SalePrice) SELECT * FROM SalesHistory shWHERE SalePrice <( SELECT AVG(SalePrice) FROM SalesHistory shi)

你可以使用EXISTS操作來決定,是否對(duì)某一個(gè)單獨(dú)的記錄使用UPDATE或者INSERT語句,就像下面的例子一樣:

IF EXISTS( SELECT * FROM SalesHistory WHERE SaleDate = '1/1/2001' AND Product = 'Computer' AND SalePrice = 1000) UPDATE TOP(1) SalesHistory SET SalePrice = 1100 WHERE SaleDate = '1/1/2001' AND Product = 'Computer' AND SalePrice = 1000ELSE INSERT INTO SalesHistory (Product, SaleDate, SalePrice) VALUES ('Computer', '1/1/2001', 1100)

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 日韩在线精品 | 午夜精品久久久久久久久久久久久 | 亚洲国产中文字幕 | 亚洲一区二区免费视频 | 黄片毛片免费看 | 成人在线中文字幕 | 欧美日韩中文字幕 | 亚洲一区二区 | 中文字幕 国产 | 羞视频在线观看 | 久久青 | 一区二区高清 | 日韩在线观看 | 黄色国产 | 影音先锋男 | 亚洲综合99 | 久久国产精品无码网站 | 色一阁| 丁香综合 | 精品一区二区三区在线观看 | 国产激情综合五月久久 | 成人毛片网站 | 欧美精品成人一区二区三区四区 | 亚洲免费久久久 | 国产欧美一级二级三级在线视频 | 欧美日韩三级视频 | 亚洲色图婷婷 | 偷牌自拍 | 51ⅴ精品国产91久久久久久 | 亚洲欧美在线一区 | 99精品一区二区三区 | 91超碰在线观看 | 国产午夜久久 | 久久久久久成人 | 在线亚洲电影 | 欧美激情国产日韩精品一区18 | 麻豆视频国产在线观看 | 国产高清美女一级a毛片久久w | 女女爱爱视频 | 亚洲区一区二区 | 午夜小视频在线播放 |