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

正文內(nèi)容

[計算機]第4章sqlppt-免費閱讀

2025-03-18 00:27 上一頁面

下一頁面
  

【正文】 子查詢是在一個查詢的結果集 中繼續(xù)進行查詢,本章介紹了使用 IN關鍵字、 EXISTS關鍵字和比較 運算符實現(xiàn)子查詢的方法。 第 1步 在企業(yè)管理器中展開層次 結構,選擇 traffic數(shù)據(jù)庫下的“視 圖”對象,在右邊窗口中需修改的 視圖上單擊標上右鍵,在彈出的 快捷菜單上選擇“設計視圖”,出 現(xiàn)設計視圖窗口。 〖 例 〗 刪除 jsy_01v視圖中駕 照號為‘ 0020223’的駕駛員記錄。 CREATE VIEW jsyxc_v AS SELETE * FROM jsyxc1 UNION ALL SELECT * FROM jsyxc2 可以通過視圖向基本表插入數(shù)據(jù), 但當視圖所依賴的基本表有多個 時,不能向該視圖插入數(shù)據(jù)。 執(zhí)行結果如圖 。 也可以直接在第三個子窗口中輸入 SELECT語句 。 第 2步 在第一個子窗口中單擊鼠標 上右鍵 , 在彈出的快捷菜單上選擇 “ 添加表 … ”, 將出現(xiàn) “ 添加表 ” 對話 框 , 如圖 462。 CREATE VIEW jsy_xcv AS SELECT , , xc.車牌號 , FROM jsy, xc WHERE = 結果如圖 。 WITH CHECK OPTION關鍵字 指定在視圖上所進行的修改都要符 合 select_sataemen所指定的限制 條件,這樣可以確保視圖創(chuàng)建后, 對視圖中數(shù)據(jù)的修改仍符合視圖的 定義,可通過視圖看到修改的數(shù)據(jù)。 提高應用程序邏輯獨立性 如果你的應用程序始終是通過視圖 來存取數(shù)據(jù),而不是直接通過表 那么一旦與視圖關聯(lián)的基本表發(fā)生 更改,視圖可以重新組織數(shù)據(jù)輸出 到應用程序中,而不需要對應用程 序本身做任何改變,所以表的更改 不影響用戶的使用。雖然視圖 與表同樣有表結構和表數(shù)據(jù),可以 進行查詢、修改、刪除和更新等操 作,但視圖中的數(shù)據(jù)并不進行實際 存儲。一個數(shù)據(jù) 庫中數(shù)據(jù)資源非常豐富,數(shù)據(jù)量龐 一、視圖的概念 大,但一般用戶往往只關心和使用 部分數(shù)據(jù),如對于交通運輸管理系 統(tǒng)來說,運輸業(yè)務部門使用駕駛員 調配和車輛調度等有關數(shù)據(jù),維修 保障部門使用車輛耗損和配件供給 等有關數(shù)據(jù),人事或勞資部門使用 本系統(tǒng)人員基本情況數(shù)據(jù)等。 使用 INTO子句可以將 SELECT 查詢所得的結果保存到一個新建的 表中,以便以后直接作為表數(shù)據(jù)使 用。 CASE函數(shù)有兩 種形式,即簡單的 CASE函數(shù)和搜 索式 CASE函數(shù),下面分別介紹。 〖 例 451〗 查詢維修費用大于平 均維修費用的車牌號。 SOME、 ANY關鍵字指定子查詢 結果集中某個值滿足比較條件時就 返回 TURE,否則返回 FALSE。 IN 關鍵字要指定一個列名, EXISTS關鍵字通常不需要特別指出 列名,可以直接使用 *表示。 〖 例 447〗 查詢出車單號為 7013 的主駕駛員的姓名、籍貫和積分。直到 掃描 ddy表的所有行后,得到最終的 查詢結果集。 (一)使用 IN關鍵字 IN關鍵字用于判斷一個值是否 在子查詢結果集中,格式為: expression [NOT] IN (subquery ) 其中 subquery為子查詢,當 expression的值與其子查詢結果 集中的某個值相等時, IN關鍵字返 回 TRUE,否則返回 FALSE。COMPUTE BY子句需要與ORDER BY子句同時使用。 BY關鍵字指定對查詢出的結果進行分 類統(tǒng)計。 HAVING子句的格式 為: [HAVINGsearch_condition] 其中 search_condition為查詢條 件,通常包含統(tǒng)計函數(shù)或常量。 GROUP BY子句不支持 對列的別名 , 也不支持任何使用了 統(tǒng)計函數(shù)的集合列 。 SELECT COUNT(*) AS ‘車輛 總數(shù)’ FROM cl 執(zhí)行結果圖 。 ( 5) COUNT函數(shù)中的表達式數(shù) 據(jù)類型可以是除 unique identifier、 text、 image和 ntext 之外的任何類型。 一、分組統(tǒng)計查詢 (一)統(tǒng)計函數(shù) 常用的統(tǒng)計函數(shù)有: SUM ( )-返回表達式中所有值的和。該例中可以省略 INNER關鍵字,結果是一樣的。 2、 RIGHT OUTER—右外連接。 ON關鍵字用于指定連接條件 search_condition為連接條件。在 SQL Server中,理論上使用 SELECT 語句可以連接的表的最大數(shù)目為 64,但實際上, 5到 8個表是 SELECT語句所能連接的極限數(shù) 目。 可以在 WHERE子句中指定更 多的條件,進一步篩選兩個表的連 接行。 SELECT * FROM xc,cd 該例中沒有 WHERE子句,連接時 將第一個表的每一行和第二個表的 每一行相結合。 如果要根據(jù)兩列或多列的結果 進行排序,可以用逗號分隔不同的 排序列,排序優(yōu)先級按排序列的先 后次序,即首先按第 1排序列進行 排序,在第 1排序列的值相同的情 況下,再按第 2排序列排序。 SELECT語句中用于 排序的子句是 ORDER BY,其格 式是: ORDER BY {expression [ASC | DESC]}[,…n] 其中 expression指定用于排序的列。 使用 IN關鍵字 使用 IN關鍵字可以用較為簡 潔的語句來實現(xiàn)復雜的查詢,其 格式為: expression [NOT] IN ( subquery | expression[,…n] ) 其中 sbuquery為子查詢 expression[,…n] 為指定的一個值 表,值表中列出所有可能的值。 〖 例 419〗 查詢車輛表 cl中 2022 年啟用的所有車輛的信息。 〖 例 417〗 查詢調度員表 ddy中 電話號碼前兩位為‘ 72’,第 3位 為‘ 2’或‘ 3’或‘ 4’的人員名單。 %(百分號)表示任意字符。 SELECT 駕照號,姓名,所學專 業(yè),籍貫,積分 FROM jsy WHERE 所學專業(yè) =’汽車指揮’ 執(zhí)行結果如圖 。 GO為批處理命令,指示系統(tǒng) 執(zhí)行自上一次 GO后所有的語句, 如果前面沒有 GO,則從開始處執(zhí) 行所有語句。 SELECT DISTINCT 類別 AS ‘現(xiàn)有類別’ FROM cl 執(zhí)行結果如圖 。 SELECT 車牌號,類別,’實際維修費’ =維修費用 * FROM cl 執(zhí)行結果如圖 。 (二)更換列名 前兩例查詢出的數(shù)據(jù)結果在 標題行直接顯示列的名稱,實際 上在執(zhí)行查詢時,你可以自定義 顯示每一列標題行的名稱,以便 查詢結果更易于理解,尤其當表 定義的列名原為英文簡寫或縮寫 時,以它作為查詢結果的列標題,對用戶而言,不易理解其數(shù)據(jù)含義。 ORDER BY子句指定輸出數(shù)據(jù)的 排序順序。通常服務器上有多個數(shù)據(jù)庫,但只有一個數(shù)據(jù)庫是活動的,可以進行數(shù)據(jù)操作。但 SQL 作為結構化查詢語言,其邏輯運算符更為豐富,可以滿足復雜的查詢要求,提高查詢的效率。表 41列 出的 TSQL語法中運算符和優(yōu)先級,當對多個運算符組成的表達式進行運算時,要注意運算符的優(yōu)先級。當用戶登陸 SQL Server ,系統(tǒng)即指定了一個默認數(shù)據(jù)庫為當前數(shù)據(jù)庫,通常 是 master數(shù)據(jù)庫, master數(shù)據(jù)庫 是系統(tǒng)數(shù)據(jù)庫,存儲系統(tǒng)表數(shù) 據(jù)。 SELECT語句的基本功能就是從 指定的表中篩選出滿足條件的行,將其指定的列按規(guī)定格式輸 出。若查詢時將其改為中文列標題名,會使查詢結果的數(shù)據(jù)更清晰明了。 三、 輸出行數(shù)的限制 輸出行數(shù)的限制可以通過SELECT子句中的選項來設定,限制行數(shù)的 SELECT子句格式如下: SELECT[ALL | DISTINCT][TOP n [PERCENT]]col_list 其中, ALL關鍵字指定保留結果集 中的所有行。 〖 例 48〗 查詢行車表 xc中每位調 度員曾調度過的車輛。 四、篩選行的條件 使用 WHERE子句可以從表格 的行集中過濾出符合條件的行, 使用格式為: SELECT select_list FROM table_name WHERE search_condition 其中 search_condition為查詢條 件。 〖 例 412〗 查詢 cl表中累計里程 10000以上的小轎車的車牌號、發(fā)動 機號、累計里程及維修費用。 _(下劃線)表示單個的任意字符 [](方括號)表示方括號里列出的 任意一個字符。 SELECT 姓名 ,電話 FROM ddy WHERE 電話 LIKE ‘72[2,3,4]%’ 執(zhí)行結果如圖 。 SELECT * FROM cl WHERE 啟用年代 LIKE ‘02t_ _’ ESCAPE ‘t’ 如圖 。當 要搜索在列表中的數(shù)據(jù)時用 IN關鍵 字,當要搜索不在列表中的數(shù)據(jù)時 用 NOT IN關鍵字。 ASC關鍵字表示升序排列, DESC 關鍵字表降序排列,在默認情況 下, ORDER BY子句按升序進 行排序,即默認使用的是 ASC關 鍵字。 〖 例 425〗 查詢 jsy表中各專業(yè)的駕駛員的積分情況。一般情況下,有 n 行的第一個表和有 m行的第二個表 連接將產(chǎn)生 n*m行的結果集。 〖 例 427〗 查詢由 0112號調度員 調度的 AX1320車的駕駛員情況。如果必須連接 8個以上的表, 則該數(shù)據(jù)庫的設計可能沒有優(yōu)化 需要考慮重新設計數(shù)據(jù)庫本身。 CROSS JOIN指定兩個表交叉連接。結果表中除了包含滿足條件的 行,還包含右表的所有行。 在 FROM子句中指定連接方式 后,仍可以用 WHERE子句指定條 件,進一步篩選結果集。 AVG ( )-返回表達式中所有值的平 均值。 〖 例 434〗 統(tǒng)計車輛表 cl中小轎車 總的維修費用。 (二) GROUP BY 子句 GROUP BY子句用于指定對某一 列的值分組,使該列相同值的行 為一組,其格式為: [GROUP BY [ALL] | expression[,…n][WITH{CUBE | ROLLUP}]] 參數(shù)說明如下: expression為分組表達式,通常 包含列名。 〖例 440〗 查詢車輛表 cl中按類別 和啟用年代分組統(tǒng)計平均維修費用 和總里程 , 并將輸出數(shù)據(jù)按總里程 升序排列 。 〖 例 442〗 在 jsy表中,對于天津 籍駕駛員按所學專業(yè)統(tǒng)計平均積 分,查詢平均積分在 25分以上的 專業(yè)和其平均積分。在結果中先顯示一個類別的 數(shù)據(jù)和這一類數(shù)據(jù)的統(tǒng)計結果,然后 再顯示下一類數(shù)據(jù)和統(tǒng)計結果。 對照 〖 例 445〗 和 〖 例 438〗 可以看到使用 COMPUTE BY子句 與使用 GROUP BY子句的結果很 相似,但它們還是有區(qū)別的,主要 在于:使用 GROUP BY 子句只能看到數(shù)據(jù)的統(tǒng)計結果,而使用COMPUTE BY在看統(tǒng)計結果的同時還能瀏覽被統(tǒng)計的數(shù)據(jù)。若使 用了 NOT選項,則返回值相反。 IN關鍵字子查詢只能返回一列 數(shù)據(jù),不能在子查詢中選擇多列數(shù) 據(jù)。 SELECT 姓名 , 籍貫 , 積分 FROM jsy WHERE EXISTS (SELECT 主駕 FROM xc WHERE 主駕 =jsy. 駕照號 AND 出車單號 =‘7013’) 執(zhí)行結果圖 。 子查詢既可以在不同表中進行,也 可以在同一表中進行,但表需要定 義別名,列名則需要使用別名限 定。 〖例 449〗 查詢積分不低于王明、高 兵和劉可的所有駕駛員的駕照號和姓 名。 SELECT 車牌號 , 維修費用 FROM cl WHERE 維修費用 (SELECT AVG(維修費用 ) FROM cl) 執(zhí)行結果圖 。 (一)簡單的 CASE函數(shù) 簡單的 CASE函數(shù)的格式為: CASE input_expression {WHEN when_expression THEN result_rxpression}[
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1