程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL循序漸進(22)EXISTS 和 ALL

SQL循序漸進(22)EXISTS 和 ALL

編輯:關於SqlServer

EXISTS 和 ALL

EXISTS使用了一個子查詢作為條件,只有當子查詢返回行的時候這個條件才為真,如果子查詢不返回任何的行條件就為假。如果商店在處理Chair的時候,有個顧客想看看所有擁有者的列表,就可以使用EXSIST,語句如下:

SELECT OWNERFIRSTNAME, OWNERLASTNAME

FROM ANTIQUEOWNERS

WHERE EXISTS


(SELECT *

FROM ANTIQUES

WHERE ITEM = 'Chair');

如果在Antiques列中有Chair,那麼子查詢就會返回一行或者多行,就使得EXISTS子句為真,然後讓SQL列出擁有者來。如果沒有搜索到Chair,則沒有行被返回,條件就為假。

ALL是另外一個不尋常的關鍵字,因為ALL查詢通常可以用不同的方法來進行,並且可能是一種更為簡單的方法。舉個例子來說明吧:

SELECT BUYERID, ITEM

FROM ANTIQUES

WHERE PRICE >= ALL


(SELECT PRICE

FROM ANTIQUES);

上面這條語句將返回最高價格的Item以及它的買方。子查詢返回了Antiques表中的所有的Price列,而外層的查詢逐行查詢Antiques表,並且如果它的Price大於等於(或者ALL)列中的Prices,它就會被列出,它就是最好價格的Item。這裡必須使用">="的原因是最高價格的Item要等於列表中的最高價格,因為這個Item在Price列中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved