SELECT--SQL語法
10年的南明網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整南明建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“南明網(wǎng)站設(shè)計”,“南明網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
從一個或多個表中檢索數(shù)據(jù)。SELECT SQL 命令是與其它 Vfp一樣的內(nèi)置的 Vfp命令。當(dāng)你使用 SELECT 來生成查詢時, Vfp翻譯查詢并從表中獲取指定數(shù)據(jù)。你可以從以下地方創(chuàng)建 SELECT 查詢:
“命令”窗口中
帶有其它任何 Vfp命令的 Vfp程序中
查詢設(shè)計器中
SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] [Alias.] Select_Item
[[AS] Column_Name] [, [Alias.] Select_Item [[AS] Column_Name] ...]
FROM [FORCE] [DatabaseName!] Table [[AS] Local_Alias]
[ [INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN DatabaseName!]
Table [[AS] Local_Alias] [ON JoinCondition ...]
[[INTO Destination] | [TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN]]
[PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT]
[WHERE JoinCondition [AND JoinCondition ...] [AND | OR FilterCondition [AND | OR FilterCondition ...]]]
[Group By GroupColumn [, GroupColumn ...]] [HAVING FilterCondition] [UNION [ALL] SELECTCommand]
[Order By Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]]
參數(shù)
SELECT
在 SELECT 子句中指定在查詢結(jié)果中包含的字段、常量和表達(dá)式。
ALL
查詢結(jié)果中包含所有行 ( 包括重復(fù)值 )。ALL 是默認(rèn)設(shè)置。
DISTINCT
在查詢結(jié)果中剔除重復(fù)的行。每一個 SELECT 子句只能使用一次 DISTINCT。
TOP nExpr [PERCENT]
在符合查詢條件的所有記錄中,選取指定數(shù)量或百分比的記錄。TOP 子句必須與 ORDER BY 子句同時使用。ORDER BY 子句指定查詢結(jié)果中包含的列上由Top字句決定的行數(shù), TOP 子句根據(jù)此排序選定最開始的 nExpr個或 nExpr% 的記錄。
您可以指定選取 1 到 32767 個記錄。使用 ORDER BY 子句指定的字段進(jìn)行排序,會產(chǎn)生并列的情況,比如,可能有多個記錄,它們在選定的字段上相同;所以,如果您指定 nExpr 為 10,在查詢結(jié)果中可能多于 10 個記錄,因為可能有幾個記錄位置并列。
如果包含 PERCENT 關(guān)鍵字指定查詢結(jié)果中的記錄數(shù),得到記錄數(shù)的可能是小數(shù),這時進(jìn)行取整。包含 PERCENT 關(guān)鍵字時,nExpr 的范圍是 0.01 到 99.99。
[Alias.] Select_Item
限定匹配項的名稱。Select_Item 指定的每一項在查詢結(jié)果中都生成一列。一個項可以是以下一個
FROM 子句所包含的表中的字段名稱。
一個常量,查詢結(jié)果中每一行都出現(xiàn)這個常量值。
一個表達(dá)式,可以是用戶自定義函數(shù)名。
關(guān)于使用用戶定義函數(shù)的詳細(xì)信息, 參見注釋節(jié)中的帶用戶定義函數(shù)的 SELECT。
你用 Select_Item 指定的各項生成一個查詢結(jié)果列。
如果兩個或更多的項具有相同的名稱, 在項名前包含表別名和一個句點來避免列重復(fù)。
[AS] Column_Name
為查詢輸出中的列指定顯示名。Column_Name 可以是表達(dá)式但不能包含不允許的字符, 如, 字段名中的空格。
當(dāng) Select_Item 是一個表達(dá)式或包含一個字段函數(shù)而且你想給該列一個有意義的名字時該選項是有用的。
FROM [FORCE] DatabaseName!
列出所有從中檢索數(shù)據(jù)的表。
FORCE 指定連接表時按它們出現(xiàn)在 FROM 子句中的順序。如果省略 FORCE, Vfp會試圖對查詢進(jìn)行優(yōu)化。但是, 使用 FORCE 子句,避免了優(yōu)化過程,可能加快查詢執(zhí)行的速度。
當(dāng)包含表的數(shù)據(jù)庫不是當(dāng)前數(shù)據(jù)庫時,DatabaseName! 指定這個數(shù)據(jù)庫的名稱。如果數(shù)據(jù)庫不是當(dāng)前數(shù)據(jù)庫,就必須指定包含表的數(shù)據(jù)庫名稱。應(yīng)在數(shù)據(jù)庫名稱之后表名之前加上感嘆號(!)分隔符。
[[AS] Local_Alias]
為 Table 中的表指定一個臨時名稱。如果指定了本地別名,那么在整個SELECT 語句中必須都用這個別名代替表名。本地別名不影響 Visual FoxPro環(huán)境。INNER JOIN 只有在其他表中包含對應(yīng)記錄(一個或多個)的記錄才出現(xiàn)在查詢結(jié)果中。
INNER JOIN 只有在其他表中包含對應(yīng)記錄(一個或多個)的記錄才出現(xiàn)在查詢結(jié)果中。
LEFT [OUTER] JOIN 在查詢結(jié)果中包含:JOIN 左側(cè)表中的所有記錄,以及JOIN 右側(cè)表中匹配的記錄。OUTER 關(guān)鍵字可被省略;包含 OUTER 強調(diào)這是一個外連接 (outer join)。
RIGHT [OUTER] JOIN 在查詢結(jié)果中包含:JOIN 右側(cè)表中的所有記錄,以及 JOIN 左側(cè)表中匹配的記錄。OUTER 關(guān)鍵字可被省略;包含 OUTER 強調(diào)這是一個外連接接 (outer join)。
FULL [OUTER] JOIN 在查詢結(jié)果中包含:JOIN 兩側(cè)所有的匹配記錄,和不匹配的記錄;包含 OUTER 強調(diào)這是一個外連接 (outer join)。
關(guān)于連接的詳細(xì)信息, 參見備注段中的 Joins。
ON JoinCondition 指定連接條件。
INTO Destination
指定在何處保存查詢結(jié)果。Destination 可以是下列子句之一:
ARRAY ArrayName ,將查詢結(jié)果保存到變量數(shù)組中。
如果查詢結(jié)果中不包含任何記錄,則不創(chuàng)建這個數(shù)組。
CURSOR CursorName [NOFILTER | READWRITE] 將查詢結(jié)果保存到臨時表中。
要創(chuàng)建一個查用于子查詢中的游標(biāo), 用 NOFILTER。關(guān)于 NOFILTER 的詳細(xì)信息, 參見備注節(jié)。
要指定游標(biāo)是臨時的和可修改的, 使用 READWRITE。如果源表或表使用 autoincrementing, 該設(shè)置不會被 READWRITE 游標(biāo)繼承。
DBF | TABLE TableName [DATABASE DatabaseName [NAME LongTableName]] 保存查詢結(jié)果到一個表中。
包含 DATABASE DatabaseName 以指定添加了表的數(shù)據(jù)庫。
包含 NAME LongTableName 可以為該表命一個最多可包括 128 個字符的并且可以在數(shù)據(jù)庫中代替短名字的長名。
如果沒有包括 INTO 子句, 查詢結(jié)果顯示在一個“瀏覽”窗口中。也可以用 TO FILE 子句來定向查詢結(jié)果到打印機或一個文件。
TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN
定向查詢結(jié)果到打印機或一個文件。
ADDITIVE 添加查詢輸出到 TO FILE FileName 中指定的已存在的文本文件內(nèi)容中。
TO PRINTER 定向查詢輸出到一個打印機。在打印開始之前,使用可選的 PROMPT 子句顯示一個對話框。您可以根據(jù)當(dāng)前安裝的打印機驅(qū)動程序調(diào)整打印機的設(shè)置。將 PROMPT 子句放置在緊跟 TO PRINTER 之后。
TO SCREEN 使查詢結(jié)果定向輸出到 Vfp主窗口或活動的用戶自定義窗口中。
PREFERENCE PreferenceName
如果查詢結(jié)果送往瀏覽窗口,就可以使用 PREFERENCE 保存瀏覽窗口的屬性和選項以備后用。關(guān)于 PREFERENCE 功能的詳細(xì)信息, 參見備注節(jié)。
NOCONSOLE
不顯示送到文件、打印機或 Vfp主窗口的查詢結(jié)果。
PLAIN
防止列標(biāo)題出現(xiàn)在顯示的查詢結(jié)果中。不管有無 TO 子句都可使用 PLAIN子句。如果 SELECT 語句中包括 INTO 子句,則忽略 PLAIN 子句。
NOWAIT
打開瀏覽窗口并將查詢結(jié)果輸出到這個窗口后繼續(xù)程序的執(zhí)行。程序并不等待關(guān)閉瀏覽窗口,而是立即執(zhí)行緊接在 SELECT 語句后面的程序行。關(guān)于如何使用 NOWAIT 的說明, 參見備注節(jié)。
WHERE JoinCondition
指定 Vfp的查詢結(jié)果中只包括符合指定條件的記錄。JoinCondition 指定位于 FROM 子句中的字段連接表。關(guān)于指定連接條件的詳細(xì)信息, 參見備注節(jié)。
WHERE 支持 JoinCondition 的 ESCAPE 操作符, 讓你可以執(zhí)行包含有百分號 (%) 和下劃線 (_) 通配符的 SELECT SQL 命令查詢。ESCAPE 允許你指定一個按原字樣處理的 SELECT SQL 命令通配符。在 ESCAPE 子句中, 一旦一個字符被放到通配符字符之前,就表示這個通配符被看作一個文字字符。
FilterCondition
指定將包含在查詢結(jié)果中記錄必須符合的條件。使用 AND 或 OR 操作符,您可以包含隨意數(shù)目的過濾條件。您還可以使用 NOT 操作符將邏輯表達(dá)式的值取反,或使用 EMPTY() 函數(shù)以檢查空字段。
SELECT SQL 命令在篩選條件中支持 "field IS / IS NOT NULL"。要學(xué)習(xí)如何使用 FilterCondition。
Group By GroupColumn [, GroupColumn ...]
按列的值對查詢結(jié)果的行進(jìn)行分組。GroupColumn 可以是常規(guī)的表字段名,也可以是一個包含 SQL 字段函數(shù)的字段名,還可以是一個數(shù)值表達(dá)式,指定查詢結(jié)果表中的列位置(最左邊的列編號為 1 )。
HAVING FilterCondition
指定包括在查詢結(jié)果中的組必須滿足的篩選條件。HAVING 應(yīng)該同 GROUP BY一起使用。它能包含數(shù)量不限的篩選條件,篩選條件用 AND 或 OR 連接,還可以使用 NOT 來對邏輯表達(dá)式求反??梢栽?HAVING 子句中使用本地別名和字段函數(shù)。 關(guān)于你可以使用的字段函數(shù)的詳細(xì)信息, 參見備注節(jié)。FilterCondition 不能包含子查詢。
可以使用帶 HAVING 子句的 Group By。使用 HAVING 子句的命令如果沒有使用 GROUP BY 子句,則它的作用與WHERE 子句相同。
如果 HAVING 子句不包含字段函數(shù)的話,使用 WHERE 子句可以獲得較快的速度。
SQL Server 2014三大新特性:集成內(nèi)存OLTP、BI和混合云搭建,那么記錄一下我們的安裝過程及配置。
SQL Server 2014 安裝圖文
SQL Server 2014三大新特性:集成內(nèi)存OLTP、BI和混合云搭建,那么記錄一下我們的安裝過程及配置。