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

MSJetSQLforAccess2000中級篇(III)

編輯:關於SqlServer
《基礎Microsoft Jet SQL for Access 2000》一文告訴我們如何使用SQL來檢索和管理存儲在數據庫中的信息。本文的後面部分將討論中級數據操縱語言(DML)語句,這將使得用戶可以更好的控制信息檢索和處理的方式。
  
  謂詞
  
  謂詞指限定一個SELECT 語句的子句,同WHERE 子句類似,但是謂詞是在書寫列的列表之前定義的。謂詞還可以進一步的限制用戶所提取的記錄集,在某些情況下,過濾出任何可能存在的重復值。
  
  ALL關鍵字
  
  在SQL語句中,如果沒有定義任何謂詞的話,將使用缺省的ALL關鍵字。它意味著所有的符合SQL語句所設定的條件的記錄都將被提取出來。回到我們的FP數據庫中,從顧客表中提取所域的記錄如下:
  
  SELECT *
  FROM tblCustomers
  
  注意盡管這裡ALL關鍵詞並沒有定義,但它是缺省值。我們也可以如下書寫該語句:
  
  SELECT ALL *
  FROM tblCustomers
  
  DISTINCT關鍵字
  
  DISTINCT關鍵字用來控制結果集中重復的值如何進行處理,那些對於指定的列來說用戶相同值的行將被過濾掉。如果多於指定的列大於一,則所有指定的列的結合將作為過濾條件。例如,如果用戶查詢Customers表中姓氏不同的記錄,則返回的值都將是唯一的,任何重復姓氏的名字都將以結果集中的一個記錄作為其結果。
  
  SELECT DISTINCT [Last Name]
  FROM tblCustomers
  
  尤其要注意的是,使用DISTINCT關鍵字的查詢所返回的結果集不能更新,即是只讀的。
  
  DISTINCTROW
  
  DISTINCTROW 關鍵字和DISTINCT關鍵字類似,但前者是基於整行而非個別的域的。他只有在處理多個表時,並且只有在用戶從某幾個但非全部的表中選擇數據域時才是有用的。如果用戶的查詢是基於一個表的,或者要從所有的表中選擇數據域,則DISTINCTROW 關鍵字本質上和ALL關鍵字相同。
  
  例如,在我們的FP數據庫中,每個顧客都可能沒有、有一個或多個FP記錄。假設我們希望找出有多少擁有多於一張FP的顧客,這時可以使用DISTINCTROW關鍵字來進行選擇。
  
  SELECT DISTINCTROW [Last Name], [First Name]
  FROM tblCustomers INNER JOIN tblInvoices
  ON tblCustomers.CustomerID = tblInvoices.CustomerID
  
  如果我們不使用DISTINCTROW 關鍵字,得到的將是每個顧客的所有FP記錄的行。(這裡的 INNER JOIN 語句將在後面的部分講解)。
  
  TOP關鍵字
  
  TOP關鍵字用來返回通過ORDER BY子句所指定的數據行中頂部或底部的某些行。ORDER BY 子句用來指定這些數據列是用升序還是降序排列。如果存在相等值,則TOP關鍵字將返回所有值相等的行。比如我們希望確定我們的FP數據庫中最高額的三條FP記錄,可以如下書寫SQL語句:
  
  SELECT TOP 3 InvoiceDate, Amount
  FROM tblInvoices
  ORDER BY Amount DESC
  
  我們也可以將PERCENT關鍵字和TOP關鍵字同時使用,來返回由ORDER BY子句所指定的數據行中頂部或底部的一定比例的行,如下所示:
  
  SELECT TOP 25 PERCENT InvoiceDate, Amount
  FROM tblInvoices
  ORDER BY Amount DESC
  
  注意如果用戶沒有定義ORDER BY 子句,則TOP關鍵字將毫無意義,返回的是隨機采樣的一些行。
  
  要了解有關謂詞的更多信息,請在Office 助手中或在Microsoft Access 幫助的回答向導的標簽頁中輸入ALL、DISTINCT等謂詞,然後單擊查找。
  
  SQL 表達式
  
  一個SQL表達式就是作為SQL語句的一部分的一個字符串,並可以得到一個值。你可以任意組合運算符、常數、文字值、函數、域名、控制和屬性來建立你的SQL表達式。而" Microsoft Jet SQL for Access 2000高級版"一文就向你描述了如何在WHERE子句中使用表達式來限制SQL語句;而且在本文隨後的部分,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved