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

您的位置:首頁技術文章
文章詳情頁

實例講解SQL Server中非常有用EXISTS結構

瀏覽:76日期:2023-11-04 13:28:47
EXISTS結構

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

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

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

Listing C與上面的腳本類似,但是它的返回值是0,因為在這個條件下,EXISTS條件不滿足。

由于EXISTS結構的工作原理,所以下面的語句所實現的功能是一樣的。

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

因為NULL在數據庫中是一個值(它是一個未知的值),在出現NULL值的地方EXISTS結構都將返回真。

開發者很少使用EXISTS對子查詢進行操作。下面的查詢將返回同樣的結果集,雖然它們的結構不同。第一個查詢使用了EXISTS的相關子查詢,第二查詢在SalesHistory表中,將SalePrice字段與該字段的總平均值進行比較。

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操作來決定,是否對某一個單獨的記錄使用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)

標簽: Sql Server 數據庫
主站蜘蛛池模板: 国产黄色片在线观看 | 国产一区二区不卡视频 | 成 人 黄 色 片 在线播放 | 中文久久乱码一区二区 | 538在线观看| 四虎影视最新地址 | 三级网站视频 | 四虎网站 | 在线观看91 | 精品少妇一区二区三区免费观 | 日韩精品三区 | 成人在线免费观看视频 | 96视频在线| 亚洲午夜天堂 | 日韩黄色网址 | 国产精品一区二区三 | 97av视频| 韩日一级片 | 成人毛片在线播放 | 日批视频网站 | 亚洲精品无 | 电家庭影院午夜 | 国产精品一区二区av | 精品一区二区三区视频 | 色婷婷影院 | 久久精品视频网 | 成人高潮片免费网站 | 国内精品偷拍 | 欧美日韩不卡 | 在线观看免费黄色 | 成人激情片 | 九色精品 | 欧美精品网站 | 男人天堂网址 | 激情综合网五月 | 在线欧美日韩 | 日本午夜网站 | 欧美一区二区三区成人 | 波多野结衣一区二区三区在线观看 | 久久久九九 | 日本在线看片 |