freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

visualfoxpro數(shù)據(jù)庫(kù)基礎(chǔ)第7章:數(shù)據(jù)查詢與視圖設(shè)計(jì)(編輯修改稿)

2025-02-09 03:26 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 SQL查詢命令 對(duì)應(yīng)查詢?cè)O(shè)計(jì)器的各個(gè)選項(xiàng)卡,不難理解上述命令當(dāng)中各個(gè)子句的含義。 [別名 1.]輸出列表達(dá)式 1 [AS列名 1][,[別名 2.]輸出列表達(dá)式 2[AS列名 2] ...]對(duì)應(yīng)于 【 字段 】 選項(xiàng)卡中的選定字段列表。它們既可以是字段名,也可以為表達(dá)式,還可以只用一個(gè) *,表示輸出表的全部字段,配合 SELECT通常被稱為 SELECT子句,是命令中不可缺少的部分; [數(shù)據(jù)庫(kù)名 !]表名表給出輸出列表達(dá)式中所涉及字段的所屬表,即數(shù)據(jù)來源。配合 FROM通常被稱為 FROM子句,也是命令中不可缺少的部分。 [INNER | LEFT | RIGHT | FULL] JOIN…ON 連接條件 選項(xiàng)用于設(shè)置多表查詢的連接條件,與 【 連接 】 選項(xiàng)卡中的設(shè)置相對(duì)應(yīng), INNER | LEFT | RIGHT | FULL分別表示內(nèi)部連接、左連接、右連接和完全連接,省略時(shí)默認(rèn)為內(nèi)部連接。 WHERE 條件 子句用于設(shè)置對(duì)查詢結(jié)果記錄的篩選條件,與 【 篩選 】 選項(xiàng)卡中的設(shè)置相對(duì)應(yīng)。 GROUP BY 分組列名 1 [,分組列名 2 ...]子句用于設(shè)置分組依據(jù),與 【 分組依據(jù) 】 選項(xiàng)卡中的設(shè)置相對(duì)應(yīng)。 HAVING 篩選條件 選項(xiàng)用于對(duì)分組記錄進(jìn)行篩選,只有滿足篩選條件的分組記錄才可能被輸出, HAVING子句要與GROUP BY子句配合使用。 Visual FoxPro的 SQL查詢命令 ORDER BY 排序列名 1[ASC|DESC][,排序列名 2[ASC|DESC]...子句用于表示查詢結(jié)果記錄的排列方式,與 【 排序依據(jù) 】 選項(xiàng)卡中的設(shè)置相對(duì)應(yīng)。若排序依據(jù)列為表達(dá)式,則通常使用該列在輸出列中的序號(hào)表示。 ASC/DESC分別表示升序和降序,省略時(shí),默認(rèn)為升序。 [ALL | DISTINCT] 和 [TOPN型表達(dá)式 [PERCENT]]選項(xiàng)分別與 【 雜項(xiàng) 】 選項(xiàng)卡中的“無(wú)重復(fù)記錄”和“列在前面的記錄”設(shè)置相對(duì)應(yīng), ALL表示輸出滿足條件的全部記錄,是選項(xiàng)省略時(shí)的默認(rèn)值; DISTINCT表示重復(fù)的記錄只輸出一次,即查詢結(jié)果當(dāng)中無(wú)重復(fù)記錄; TOP子句表示輸出查詢結(jié)果的前 N條 (無(wú) PERCENT時(shí) )或前 N%條 (有 PERCENT時(shí) ), TOP子句必須配合 ORDER BY子句使用,當(dāng)排序依據(jù)字段有重復(fù)值時(shí),輸出的記錄可能多于 TOP的設(shè)置值。 [INTO 查詢?nèi)ハ?]| [TO FILE 文本文件名 [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN]子句用于指定查詢結(jié)果的去向。 INTO子句的 查詢?nèi)ハ?可以是: ARRAY 數(shù)組名 、 CURSOR 臨時(shí)表名 、 DBF 數(shù)據(jù)表名 或TABLE 自由表名 ; TO FILE子句指定將查詢結(jié)果送指定的文本文件,使用ADDITIVE表示將查詢結(jié)果追加到指定的文本文件中,否則,覆蓋文本文件內(nèi)容; TO PRINTER [PROMPT]子句表示將查詢結(jié)果送打印機(jī)輸出,使用PROMPT表示打印之前彈出打印設(shè)置對(duì)話框,供用戶進(jìn)行打印設(shè)置; TO SCREEN子句表示在 Visual FoxPro主窗口或用戶自定義的當(dāng)前窗口中顯示查詢結(jié)果。當(dāng) INTO或 TO子句省略時(shí),查詢結(jié)果顯示在瀏覽窗口中。 Visual FoxPro的 SQL查詢命令 由上述說明可知, SQL_SELECT命令的最簡(jiǎn)單形式是: SELECT 列名表 FROM 表名 ,它表示在瀏覽窗口中顯示指定表的指定列。 另外,在 SELECT子句中還可以使用以下函數(shù)實(shí)現(xiàn)統(tǒng)計(jì)查詢: AVG(N型字段名表達(dá)式 ): 計(jì)算表達(dá)式的平均值。 COUNT(字段名 /*): 統(tǒng)計(jì)指定字段的值的個(gè)數(shù) /輸出記錄數(shù)。 MAX(字段名表達(dá)式 ): 求表達(dá)式的最大值。 MIN(字段名表達(dá)式 ): 求表達(dá)式的最小值。 SUM(N型字段名表達(dá)式 ): 計(jì)算表達(dá)式的和。 使用上列函數(shù)時(shí),若配合 GROUP BY子句可以實(shí)現(xiàn)分組統(tǒng)計(jì)。 Visual FoxPro的 SQL查詢命令 2. SQL_SELECT命令使用示例 (1)單表查詢 單表查詢就是從一個(gè)表中查找所需數(shù)據(jù),因此,在 SQL_SELECT命令中不會(huì)出現(xiàn)JOIN_ON等用于設(shè)置表間連接條件的子句。 例 查詢學(xué)生的學(xué)號(hào)和姓名。 SELECT 學(xué)生 .學(xué)號(hào) ,學(xué)生 .姓名 FROM 學(xué)生 命令執(zhí)行結(jié)果如圖 。 圖 例 Visual FoxPro的 SQL查詢命令 例 查詢招生專業(yè)。 SELECT DISTINCT 學(xué)生 .專業(yè) FROM 學(xué)生 命令執(zhí)行結(jié)果如圖 。 例 查詢英語(yǔ)專業(yè)的學(xué)生信息。 SELECT * FROM 學(xué)生 WHERE 學(xué)生 .專業(yè) = 英語(yǔ) 命令執(zhí)行結(jié)果如圖 。 圖 例 圖 例 Visual FoxPro的 SQL查詢命令 例 查詢所有王姓學(xué)生的信息。 SELECT * FROM 學(xué)生 WHERE 學(xué)生 .姓名 LIKE 王 % 命令執(zhí)行結(jié)果如圖 。 例 查詢管理專業(yè)學(xué)生的入學(xué)成績(jī),并按入學(xué)成績(jī)降序排列記錄。 SELECT 學(xué)生 .學(xué)號(hào) ,學(xué)生 .姓名 ,學(xué)生 .專業(yè) ,學(xué)生 .入學(xué)成績(jī) 。 FROM 學(xué)生 。 WHERE 學(xué)生 .專業(yè) = 管理 。 ORDER BY 學(xué)生 .入學(xué)成績(jī) DESC 命令執(zhí)行結(jié)果如圖 。 圖 例 圖 例 Visual FoxPro的 SQL查詢命令 例 查詢學(xué)生平均入學(xué)成績(jī)。 SELECT AVG(學(xué)生 .入學(xué)成績(jī) ) AS 平均入學(xué)成績(jī) FROM 學(xué)生 命令執(zhí)行結(jié)果如圖 。 例 查詢各專業(yè)學(xué)生平均入學(xué)成績(jī)。 SELECT 學(xué)生 .專業(yè) , AVG(學(xué)生 .入學(xué)成績(jī) ) AS 平均入學(xué)成績(jī) 。 FROM 學(xué)生 。 GROUP BY 學(xué)生 .專業(yè) 命令執(zhí)行結(jié)果如圖 。 例 查詢學(xué)生人數(shù)。 SELECT COUNT(*) AS 學(xué)生人數(shù) FROM 學(xué)生 命令執(zhí)行結(jié)果如圖 。 圖 例 圖 例 圖 例 Visual FoxPro的 SQL查詢命令 例 查詢各專業(yè)女學(xué)生人數(shù),結(jié)果按人數(shù)升序排列。 SELECT 學(xué)生 .專業(yè) , COUNT(*) AS 女生人數(shù) 。 FROM 學(xué)生 。 WHERE 學(xué)生 .性別 = 女 。 GROUP BY 學(xué)生 .專業(yè) 。 ORDER BY 2 命令執(zhí)行結(jié)果如圖 。 例 查詢專業(yè)數(shù)量。 SELECT COUNT(DISTINCT 學(xué)生 .專業(yè) ) AS 專業(yè)數(shù) FROM 學(xué)生 命令執(zhí)行結(jié)果如圖 。 在本例中,如果把命令中的 DISTINCT去掉,執(zhí)行結(jié)果顯示的專業(yè)數(shù)為 12,所統(tǒng)計(jì)的是專業(yè)字段值 (非 NULL)的個(gè)數(shù),而不是專業(yè)的種類數(shù)。因此,需要對(duì)專業(yè)字段使用關(guān)鍵字 DISTINCT把重復(fù)值去掉,從而實(shí)現(xiàn)本例要求。 圖 例 圖 例 Visual FoxPro的 SQL查詢命令 例 查詢最高和最低入學(xué)成績(jī)。 SELECT MAX(學(xué)生 .入學(xué)成績(jī) ) AS 最高入學(xué)成績(jī) ,。 MIN(學(xué)生 .入學(xué)成績(jī) ) AS 最低入學(xué)成績(jī) 。 FROM 學(xué)生 命令執(zhí)行結(jié)果如圖 。 例 從成績(jī)表中查詢總分的最高分。 SELECT MAX(成績(jī) .計(jì)算機(jī) +成績(jī) .英語(yǔ) +成績(jī) .高等數(shù)學(xué) ) AS 最高總分 。 FROM 成績(jī) 命令執(zhí)行結(jié)果如圖 。 圖 例 圖 例 Visual FoxPro的 SQL查詢命令 (2)多表查詢 多表查詢是指從一個(gè)以上的相關(guān)表中查找所需數(shù)據(jù),因此,表與表之間連接條件的設(shè)置通常是必不可少的。連接條件既可以通過 JOIN_ON子句來設(shè)置,還可以通過 WHERE子句來設(shè)置,只是 WHERE子句無(wú)法指定連接類型。 例 從學(xué)生表和成績(jī)表中,查詢學(xué)生的學(xué)號(hào)、姓名、性別、專業(yè)、計(jì)算機(jī)、英語(yǔ)、高等數(shù)學(xué)成績(jī)和總分,查詢結(jié)果首先按專業(yè)升序排列記錄,專業(yè)相同時(shí)按總分降序排列記錄。 此例要求與例 ,對(duì)應(yīng)的 SQL_SELECT命令如下: SELECT 學(xué)生 .學(xué)號(hào) ,學(xué)生 .姓名 ,學(xué)生 .性別 ,學(xué)生 .專業(yè) ,。 成績(jī) .計(jì)算機(jī) ,成績(jī) .英語(yǔ) ,成績(jī) .高等數(shù)學(xué) ,。 成績(jī) .計(jì)算機(jī) +成績(jī) .英語(yǔ) +成績(jī) .高等數(shù)學(xué) AS總分 。 FROM 學(xué)生 INNER JOIN 成績(jī) 。 ON 學(xué)生 .學(xué)號(hào) = 成績(jī) .學(xué)號(hào) 。 ORDER BY 學(xué)生 .專業(yè) , 8 DESC Visual FoxPro的 SQL查詢命令 若用 WHERE子句描述學(xué)生表和成績(jī)表之間的連接關(guān)系,同樣可以實(shí)現(xiàn)本例要求,命令如下: SELECT 學(xué)生 .學(xué)號(hào) ,學(xué)生 .姓名 ,學(xué)生 .性別 ,學(xué)生 .專業(yè) ,。 成績(jī) .計(jì)算機(jī) ,成績(jī) .英語(yǔ) ,成績(jī) .高等數(shù)學(xué) ,。 成績(jī) .計(jì)算機(jī) +成績(jī) .英語(yǔ) +成績(jī) .高等數(shù)學(xué) AS總分 。 FROM 學(xué)生 ,成績(jī) 。 WHERE 學(xué)生 .學(xué)號(hào) =成績(jī) .學(xué)號(hào) 。 ORDER BY 學(xué)生 .專業(yè) , 8 DESC 若命令中引用的字段名在 FROM子句所列出的所有表中是唯一的,則該字段名的前綴可以省略,否則,需使用所在表的別名做前綴以表明該字段屬于哪個(gè)表,如上列命令可簡(jiǎn)化如下: SELECT 學(xué)生 .學(xué)號(hào) ,學(xué)生 .姓名 ,性別 ,專業(yè) ,計(jì)算機(jī) ,英語(yǔ) ,高等數(shù)學(xué) ,。 計(jì)算機(jī) +英語(yǔ) +高等數(shù)學(xué) AS總分 。 FROM 學(xué)生 ,成績(jī) 。 WHERE 學(xué)生 .學(xué)號(hào) =成績(jī) .學(xué)號(hào) 。 ORDER BY專業(yè) ,8DESC 命令執(zhí)行結(jié)果如圖 。 Visual FoxPro的 SQL查詢命令 圖 例 Visual FoxPro的 SQL查詢命令 例 查詢計(jì)算機(jī)專業(yè)學(xué)生的成績(jī)。 SELECT 成績(jī) .*。 FROM 成績(jī) ,學(xué)生 。 WHERE 成績(jī) .學(xué)號(hào) = 學(xué)生 .學(xué)號(hào) AND 學(xué)生 .專業(yè) = 39。計(jì)算機(jī) 39。 命令執(zhí)行結(jié)果如圖 。 圖 例 Visual FoxPro的 SQL查詢命令 (3) 嵌套查詢 所謂嵌套查詢是指,在一個(gè) SQL_SELECT命令的 WHERE子句中含有另一個(gè) SQL_SELECT命令,這個(gè)命令通常被稱為子查詢。子查詢的結(jié)果通常用來表示條件值。嵌套查詢的 WHERE條件通常有如下幾種形式: 字段名 比較運(yùn)算符 ALL(子查詢 ):篩選指定字段與全部子查詢結(jié)果都滿足條件的記錄。 字段名 比較運(yùn)算符 ANY/SOME(子查詢 ):篩選指定字段至少與一個(gè)子查詢結(jié)果滿足比較條件的記錄。 字段名 IN(子查詢 ):篩選指定字段值在子查詢結(jié)果中的記錄。 EXIST(子查詢 ):只要子查詢結(jié)果非空篩選條件就為真值。 其中,比較運(yùn)算符為: 、 =、 、 =、 =和 (!=, )。 注意: HAVING子句的篩選條件不能使用子查詢。 Visual FoxPro的 SQL查詢命令 例 查詢?nèi)雽W(xué)成績(jī)最高的學(xué)生信息。 SELECT * FROM 學(xué)生; WHERE 學(xué)生 .入學(xué)成績(jī) =ALL(SELECT 學(xué)生 .入學(xué)成績(jī) FROM 學(xué)生 ) 命令執(zhí)行結(jié)果如圖 。 圖 例 Visual FoxPro的 SQL查詢命令 例 查詢計(jì)算機(jī)專業(yè)有選修課程的學(xué)生信息,并以查詢結(jié)果生成表文件“ ”。 SELECT 學(xué)生 .*。 FROM 學(xué)生 。 WHERE 學(xué)生 .學(xué)號(hào) IN(SELECT 選課 .學(xué)號(hào) FROM 選課 )。 AND 學(xué)生 .專業(yè) =39。計(jì)算機(jī) 39。 INTO TABLE CC BROWSE 命令執(zhí)行結(jié)果如圖 。 圖 例 Visual FoxPro的 SQL定義命令 Visual FoxPro的 SQL定義命令用于定義表結(jié)構(gòu)、定義視圖、修改表結(jié)構(gòu)以及刪除表或視圖。
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1