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

正文內(nèi)容

[計算機]第4章sqlppt-文庫吧資料

2025-02-28 00:27本頁面
  

【正文】 若 subquery子查詢結果不為空, EXISTS關鍵字返回 TRUE,否則 返回 FALSE,使用 NOT選項時, 則返回值相反。 IN關鍵字子查詢只能返回一 列數(shù)據(jù),不能在子查詢中選擇多列 數(shù)據(jù)。若調(diào)度號不在該結果集中,則掃描下一行。 IN關鍵字子查詢只能返回一列 數(shù)據(jù),不能在子查詢中選擇多列數(shù) 據(jù)。若調(diào)度號不 在該結果集中,則掃描下一行。 執(zhí)行該查詢操作時,系統(tǒng)首先執(zhí)行 內(nèi)查詢即 SELECT DISTINCT調(diào)度號 FROM xc WHERE 車牌號 =‘AX1320’ 得到一個只包含調(diào)度號列的結果 集,如下內(nèi)容: 0111 0112 0113 該結果集傳給外查詢后開始執(zhí)行外 查詢。 〖 例 446〗 查詢調(diào)度過 AX1320車 的所有調(diào)度員姓名、職務和電話。若使 用了 NOT選項,則返回值相反。 子查詢通常使用 IN、 EXISTS關 鍵字和 比較運算符 。 嵌套查詢就是在查詢語句中包 含了用括號括起來的另一個查詢, 這另一個查詢通常是出現(xiàn)在查詢條 件中,其查詢結果作為查詢條件的 一部分,稱之為子查詢。 二、 子查詢 前面所介紹的多種查詢操作都 是使用單個 SELECT語句實現(xiàn),即 單層查詢操作,也就是說只需要一 次查詢就能得到所要的數(shù)據(jù)。 對照 〖 例 445〗 和 〖 例 438〗 可以看到使用 COMPUTE BY子句 與使用 GROUP BY子句的結果很 相似,但它們還是有區(qū)別的,主要 在于:使用 GROUP BY 子句只能看到數(shù)據(jù)的統(tǒng)計結果,而使用COMPUTE BY在看統(tǒng)計結果的同時還能瀏覽被統(tǒng)計的數(shù)據(jù)。 COMPUTE BY子句的作用是將結果集分組顯示。 SELECT 籍貫,積分 FROM jsy WHERE 籍貫 IN (‘天津’ ,‘北京’ ) ORDER BY籍貫 COMPUTE AVG(積分 ) BY籍貫 執(zhí)行結果圖 。 SELECT 籍貫 , 所學專業(yè) , 積分 FROM jsy WHERE 籍貫 IN (‘天津’ ,‘北京’ ) COMPUTE AVG(積分 ) 執(zhí)行結果圖 。在結果中先顯示一個類別的 數(shù)據(jù)和這一類數(shù)據(jù)的統(tǒng)計結果,然后 再顯示下一類數(shù)據(jù)和統(tǒng)計結果。 COMPUTE子句 的格式為: [COMPUTE(expression)[,…n][BY colume_name[,…n]] 參數(shù)說明如下: expression為包含統(tǒng)計函數(shù)的表達 式,在產(chǎn)生匯總行中顯示統(tǒng)計結 果。 (四) COMPUTE 子句 使用 GROUP BY子句可以 對數(shù)值列做分組統(tǒng)計運算,但只能 在結果中顯示統(tǒng)計的結果而看不到 被統(tǒng)計的具體的源數(shù)據(jù)。 〖例 443〗 查找兩次出車均由 0111 號調(diào)度員指派的主駕人員。 〖 例 442〗 在 jsy表中,對于天津 籍駕駛員按所學專業(yè)統(tǒng)計平均積 分,查詢平均積分在 25分以上的 專業(yè)和其平均積分。 HAVING子句對結果的篩選作用與 WHERE條件子句對每行的篩選作 用是一樣的。 CUBE關鍵字對類別和啟用年代的各種組合進行匯總,產(chǎn)生 7個匯總行。 〖 例 441〗 按類別和啟用年代統(tǒng) 計累計里程。 〖例 440〗 查詢車輛表 cl中按類別 和啟用年代分組統(tǒng)計平均維修費用 和總里程 , 并將輸出數(shù)據(jù)按總里程 升序排列 。 在有 GROUP BY 子句的 SELECT 語句中 , 輸出列表只能 是 GROUP BY子句中的列表或是 計算列 。 〖 例 439〗 查詢車輛表 cl中各類別的車有多少輛。 CUBE關鍵字表示產(chǎn)生所有列組合 的匯總行。 (二) GROUP BY 子句 GROUP BY子句用于指定對某一 列的值分組,使該列相同值的行 為一組,其格式為: [GROUP BY [ALL] | expression[,…n][WITH{CUBE | ROLLUP}]] 參數(shù)說明如下: expression為分組表達式,通常 包含列名。 〖 例 437〗 統(tǒng)計 cl表中車輛總數(shù)。 〖 例 436〗 統(tǒng)計已出車的駕駛員 人數(shù)。 〖 例 435〗 統(tǒng)計駕駛員表 jsy中汽 車指揮專業(yè)的最高積分。 〖 例 434〗 統(tǒng)計車輛表 cl中小轎車 總的維修費用。 ( 4) MIN和 MAX函數(shù)中的表達式 數(shù)據(jù)類型可以是數(shù)值、字符和時 間日期型。 ( 2) COUNT函數(shù)中 *號表示統(tǒng)計 總行數(shù)。 其函數(shù)格式分別為: SUM/AVG/MIN/MAX ([ALL | DISTINCT]expression) COUNT({[ALL | DISTINCT]expression} | * ) 參數(shù)說明如下: ( 1) ALL表示對所有值運算, DISTINCT表示去掉重復的值,忽 略 NULL值。 AVG ( )-返回表達式中所有值的平 均值。 SELECT xc.*, FROM xc RIGHT JOIN cl ON = 執(zhí)行結果如圖 。 SELECT 姓名 , 職務 , 出車單號 FROM ddy LEFT OUTER JOIN xc ON =ddy.調(diào)度號 執(zhí)行結果如圖 。 SELECT 姓名 , 積分 FROM jsy JOIN xc ON = WHERE 車牌號 =’AX1320’ AND調(diào)度號 =’0111’ 執(zhí)行結果如圖 。 在 FROM子句中指定連接方式 后,仍可以用 WHERE子句指定條 件,進一步篩選結果集。 SELECT , 車牌號 ,出車單號 FROM jsy INNER JOIN xc ON jsy. 駕照號 = 執(zhí)行結果如圖 。 join_hint為連接提示信息。結果表中除了包含滿足條件的 行,還包含左右兩個表所有行。結果表中除了包含滿足條件的 行,還包含右表的所有行。 結果表中除了包含滿足條件的 行,還包含左表的所有行。不但包含滿 足條件的行,還包含相應表中的 所有行。合并兩個 表,返回滿足條件的行。 CROSS JOIN指定兩個表交叉連接。 join_type表示連接方式。當表定義了別名,在 語句中限定字段名時即用別名代 替表名,以簡化命令的書寫。 SELECT , , 號 , , FROM jsy t1, ddy t2, cd t3, xc t4 WHERE = AND =t3 .出車單號 AND =t2 .調(diào)度號 執(zhí)行結果如圖 。如果必須連接 8個以上的表, 則該數(shù)據(jù)庫的設計可能沒有優(yōu)化 需要考慮重新設計數(shù)據(jù)庫本身。 SELECT語句還可以在兩個 以上的表中查詢,此時需要在 WHERE子句中用到多個比較運算 符來實現(xiàn)表的兩兩連接。 SELECT , , , FROM jsy, ddy WHERE ddy.出生時間 執(zhí)行結果如圖 。 〖 例 428〗 在 jsy表和 ddy表中查 詢駕駛員年齡大于調(diào)度員年齡的 情況。 〖 例 427〗 查詢由 0112號調(diào)度員 調(diào)度的 AX1320車的駕駛員情況。 上例可改為: SELECT xc.*, ,cd. 目 的地 ,cd. 大約行程 , FROM xc,cd WHERE = 車單號 該連接則稱為自然連接,是使用最 多的一種連接。 〖 例 426〗 查詢每次出車的日期、目的地和行程情況。該連接也稱為交 叉連接或完全連接,一般使用很 少。一般情況下,有 n 行的第一個表和有 m行的第二個表 連接將產(chǎn)生 n*m行的結果集。下面語句連接行車 xc與車單表 cd所有行。 (一)關系運算連接 在 SELECT語句 WHERE子句中使用 不同表的列進行關系運算可以在表 之間建立連接。 六、多表連接 前面我們使用的 SELECT語句 都是從數(shù)據(jù)庫的單個表中查詢所要 的數(shù)據(jù),在實際應用中,多數(shù)情況 下我們需要查詢的數(shù)據(jù)來自多個數(shù) 據(jù)表,如查詢駕駛員出車情況和所 駕車輛情況,需要從 xc表、 cd表 和 cl表中搜索相關數(shù)據(jù),涉及多個 表的查詢稱為連接查詢。 〖 例 425〗 查詢 jsy表中各專業(yè)的駕駛員的積分情況。 SELECT 車牌號 ,類別 ,啟用年代 , ‘每百公里維修費用’ =round(維修 費用 /累計里程 *100,2) FROM cl ORDER BY ‘每百公里 維修費用’ DESC 執(zhí)行結果如圖 。 SELECT 駕照號 ,姓名 ,所學專業(yè) ,積分 FROM jsy WHERE 所學專業(yè) =’汽車指揮’ ORDER BY 積分 DESC 如圖 可以用列在輸出列表中的位置 來指定需要排序的列,如上例中排 序列’積分’在輸出列表中的位置是 4,查詢語句可以改為: SELECT 駕照號 ,姓名 ,所學專業(yè) , 積分 FROM jsy WHERE 所學專業(yè) =’汽車指揮’ ORDER BY 4 DESC 如果要對計算列的值進行排序,在 ORDER BY子句中的expression必須是計算列的表達式或是為該計算列指定的列名。 n表示可以同時指定多個排序的列 Ntext、 text和 image類型的數(shù)據(jù) 不能進行排序,此類列名不允許 出現(xiàn)在 ORDER BY子句中。 ASC關鍵字表示升序排列, DESC 關鍵字表降序排列,在默認情況 下, ORDER BY子句按升序進 行排序,即默認使用的是 ASC關 鍵字。為了方 便查看輸出數(shù)據(jù),可以對查詢的結 果進行排序。 SELECT 主駕 ,車牌號 ,出車單號 , 調(diào)度號 FROM xc WHERE 副駕 IS NULL 執(zhí)行結果如圖 。 該例中若要查詢籍貫不是‘天津’或 ‘北京’或‘上?!鸟{駛員,則使用下 面的 WHERE子句: WHERE 籍貫 NOT IN( ‘天津’ ,‘北 京’ ,‘上?!? 空值判定 當需要判定表達式的值是否 為空值時,使用 IS NULL關鍵字, 格式為: expression IS [NOT] NULL 當無 NOT選項時,若表達式 expression的值為空值,返回 TRUE,否則返回 FALSE;有 NOT選項時返回值則相反。當 要搜索在列表中的數(shù)據(jù)時用 IN關鍵 字,當要搜索不在列表中的數(shù)據(jù)時 用 NOT IN關鍵字。 SELECT 車牌號 ,類別 ,‘預計費 用’ =維修費用 *(1+) FROM cl WHERE 維修費用 *(1+) BETWEEN 2022 AND 3000 執(zhí)行結果如圖 。其實,使用 BETWEEN表達式進行查詢的結果 與使用 ‘ =’和 ‘ =’的邏輯表達式的 查詢結果相等,使用 NOT BETWEEN進行查詢的結果與使 用 ‘ ’和 ‘ ’的邏輯表達式的查詢結 果相等,其返回值為 TRUE或 FALSE。 限定范圍 使用 BETWEEN關鍵字 當要查詢的條件是某個值的 范圍時,可以使用 BETWEEN關 鍵字,其格式為: expression [NOT] BETWEEN begin_expression AND end_expression 其中 begin_expression的值不能 大于 end_expression的值。 SELECT * FROM cl WHERE 啟用年代 LIKE ‘02t_ _’ ESCAPE ‘t’ 如圖 。如“ 02_1”表 示 2022年第 1季度,“ 89_2”表示 1989年第 2季度。 ESCAPE表示其后 出現(xiàn)的第一個表示通配符的字符 不再被視為通配符,而被當做普 通字符對待。 SELECT 駕照號 ,姓名 ,籍貫 ,積分 FROM jsy WHERE 駕照號 LIKE ‘_ _[^1,2]’ 執(zhí)行結果如圖 。 SELECT 姓名 ,電話 FROM ddy WHERE 電話 LIKE ‘72[2,3,4]%’ 執(zhí)行結果如圖 。 SELECT 姓名 ,電話 FROM js WHERE 電話 LIKE ‘72_1%’ 執(zhí)行結果如圖 。 SELE
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1