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

正文內(nèi)容

數(shù)據(jù)庫概論-關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言(已修改)

2025-01-29 12:41 本頁面
 

【正文】 結(jié)構(gòu)化查詢語言 SQL (Structured Query Language) 是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言,其功能包括查詢、操縱、定義和控制四個方面,是一個通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言,目前已成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。 第四章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言 SQL的歷史 SQL語言最初是由 IBM公司 1974年在原型的關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R上開發(fā)的語言。 1979年, ORACLE公司首家推出商業(yè)上可執(zhí)行的 SQL。 如今, SQL成為國際上標(biāo)準(zhǔn)的數(shù)據(jù)庫存取語言。 SQL的標(biāo)準(zhǔn) 美國國家標(biāo)準(zhǔn)學(xué)會( ANSI )將 SQL作為關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言,并且定義在ANSI ”具有完整性增強(qiáng)特征的數(shù)據(jù)庫語言 SQL”文檔中,即 ANSI SQL89。 ISO SQL86 ISO SQL89 1992年 ISO SQL92 SQL2 2021年 ISO SQL99 SQL3 2021年 SQL2021, 包含了 XML相關(guān)內(nèi)容 2021年 SQL2021, 定義了 SQL與 XML(包含 XQuery)的 關(guān)聯(lián)應(yīng)用 SQL概述及其特點(diǎn) 1. SQL概述 按其功能分為四大類 名稱 動詞 功能 數(shù)據(jù)查詢 SELECT 查詢數(shù)據(jù) 數(shù)據(jù)定義 CREATE, DROP, ALTER 定義 、 撤消和修改 數(shù)據(jù)模式 數(shù)據(jù)操縱 INSERT, UPDATE, DELETE 增、刪、改數(shù)據(jù) 數(shù)據(jù)控制 GRANT, REVOKE 數(shù)據(jù)訪問權(quán)限的控制 其作用是建立和使用數(shù)據(jù)庫。 SQL 的特點(diǎn) ① 綜合統(tǒng)一的一體化的特點(diǎn) ② 高度非過程化 ③ 面向集合的操作方式,語言功能強(qiáng) ④ 統(tǒng)一的語法結(jié)構(gòu),兩種使用方式 ⑤ 語言簡潔,易學(xué)易用 ⑥ 提供數(shù)據(jù)控制功能 ⑦ 提供有數(shù)據(jù)視圖的數(shù)據(jù)結(jié)構(gòu) ⑧ 所有關(guān)系數(shù)據(jù)庫的公共語言 2. SQL數(shù)據(jù)庫的體系結(jié)構(gòu) 按支持 SQL的數(shù)據(jù)庫管理系統(tǒng)可稱其 SQL數(shù)據(jù)庫,其結(jié)構(gòu)基本上采用三級結(jié)構(gòu),但所用術(shù)語與傳統(tǒng)關(guān)系模型的術(shù)語有些不同。 SQL 傳統(tǒng)的 RDB 基本表 (Base Table) 關(guān)系模式 存儲文件 (Base Table) 內(nèi)模式(存儲模式) 視圖 (View) 外模式 行 (Row) / 列 (Column) 元組 /屬性 用戶 1 用戶 2 用戶 3 用戶 4 視圖 3 視圖 1 視圖 2 基本表 1 基本表 2 基本表 3 基本表 4 存儲文件 1 存儲文件 1 SQL用戶 視圖 基本表 存儲文件 外模式 模式 內(nèi)模式 表 說明: ? 一個 SQL數(shù)據(jù)庫是表的匯集 ,它用一個或若干個SQL模式定義; ? 基本表都是一個實(shí)際存在的關(guān)系,由行集構(gòu)成,一行是列的序列,每列對應(yīng)一個數(shù)據(jù)項; ? 一個表或者是一個基本表,或者是一個視圖; ? 每個存儲文件與外部存儲上一個物理文件對應(yīng); ? 用戶可以用 SQL語句對視圖和基本表進(jìn)行查詢操作; ? SQL用戶可以應(yīng)用程序,也可以是終端用戶。 格式: SELECT [ALL|DISTINCT]目標(biāo)列表達(dá)式 [, 目標(biāo)列表達(dá)式, ] FROM 基本表名或視圖名 [, 基本表名或視圖名 , ] [WHERE 條件表達(dá)式 ] [GROUP BY 列名 1[HAVING條件表達(dá)式 ]] [ORDER BY 列名 2[ASC|DESC]]; 描述: 根據(jù) WHERE子句的條件表達(dá)式,從 FROM子句指定的基本表或視圖中找出滿足條件的元組,再按 SELECT子句中的目標(biāo)列表達(dá)式,選出元組中的屬性值形成結(jié)果表。如果有 GROUP BY子句則將結(jié)果按 列名 1的值進(jìn)行分組,該屬性列相等的元組為一個組。通常會在每組中作用集函數(shù)。如果 GROUP子句帶有 HAVING短語,則只有滿足指定條件的組才予輸出。如果有 ORDER BY子句,則結(jié)果表還要按 列名 2的值升序或降序排列。 SQL查詢 1. 選擇表中的若干列 ? 選擇表中的指定列; ? 選擇表中的所有列; ? 結(jié)果列的顯示順序; ? 使用列表達(dá)式; SELECT中的 目標(biāo)列表達(dá)式 可以是表中的列,也可以是表達(dá)式,包括算術(shù)表達(dá)式、字符串常數(shù)、函數(shù)等。(字符串用單引號定界)。 ? 使用的列的別名 : 列名 [AS] 列的別名 單表查詢 僅涉及一個表的查詢 例 1:求全體學(xué)生的學(xué)號、姓名。 例 2:求全體學(xué)生的詳細(xì)信息。 例 3:求學(xué)生學(xué)號和學(xué)生出生的年份 (經(jīng)過計算的值)。 例 4:求學(xué)生的學(xué)號和出生年份,顯示時 使用別名 Student_No 和 Birth_Day。 2. 選擇表中的若干元組 ① 消除取值重復(fù)行 查找相異的行:在 SELECT語句中使用關(guān)鍵字 DISTINCT 原本不完全相同的元組,經(jīng)過向某些列投影操作后,可能變成相同的行了。如果想去掉結(jié)果表中的重復(fù)行,必須指定 DISTINCT 短語,沒有指定,則使用用缺省值 ALL,意為保留結(jié)果表中所有的行。 例 5:求選修了課程的學(xué)生學(xué)號。 ② 查詢滿足條件的元組 可以通過 WHERE子句來實(shí)現(xiàn)。 WHERE常用的查詢條件 如下表所示。 查詢條件 謂詞 比較 =,=,=,!=,!,!。 NOT+上述比較運(yùn)算符 確定范圍 BETWEEN AND, NOT BETWEEN AND 確定集合 IN, NOT IN 字符匹配 LIKE, NOT LIKE 空值 IS NULL, IS NOT NULL 多重條件 AND, OR, NOT ? 大小比較 條件表達(dá)式的形式如下: 屬性列 比較運(yùn)算符 {列名 |常量 |表達(dá)式 } 其中:字符串常量和日期常量要用一對 單引號括起來。 例 6:求年齡大于等于 20歲的學(xué)生姓名和年齡。 ? BETWEEN 確定范圍 謂詞 BETWEEN AND與 NOT BETWEEN AND 的一般格式為: 屬性列 [NOT] BETWEEN a AND b 查詢屬性值在(或不在)指定范圍內(nèi)的元組 其中: a 為范圍的下限(低值), b 為范圍的上限(高值)。 選出的元組包括邊界 a與 b,要求 a=b, 等價于 a = 屬性列 = b 。 例 7:求年齡在 20歲與 22歲之間(包括 20歲和 22歲)的學(xué)生學(xué)號和年齡。 例 8:求年齡不在 20歲與 22歲之間的學(xué)生學(xué)號 和年齡。 ? IN 確定集合 謂詞 IN可以用來查找屬性值屬于指定集合 的元組。 屬性列 [NOT] IN 值表 謂詞 IN實(shí)際上是一系列謂詞 ‘ OR’的縮寫。 所起的作用就是檢查列值是否等于它后面括弧 內(nèi)的一組值中某一個。如果等于其中某一個值, 則其結(jié)果為 ‘ 真 ’ ,否則其結(jié)果為 ‘ 假 ’ 。 NOT IN 表示與 IN完全相反的含義。 例 9: 求在下列各系的學(xué)生:數(shù)學(xué)系( ‘ MA’)、 計算機(jī)科學(xué)系( ‘ CS’)。 例 10:求不是數(shù)學(xué)系、計算機(jī)科學(xué)系的學(xué)生的 信息。 ? LIKE 匹配查詢或模糊查詢 謂詞 LIKE的一般格式為: 屬性列 [NOT] LIKE ‘匹配串 ’ 查詢指定的屬性列與 匹配串 相匹配的元組。 注釋: 匹配串 可以是一個完整的字符串,也可以含有通配符的字符串。 通配符包括: %( 百分號 ) : 代表任意長 ( 長度為 0) 字符串 。 _( 下劃線 ) : 代表任意單個字符 所有其它字符: 只代表自己 例 11:求姓名是以字母 ‘ 馬 ’ 打頭的學(xué)生信息。 例 12:求姓名中含有字母 ‘ 馬 ’ 的學(xué)生信息。 例 13:求姓名長度至少是三個字符且倒數(shù)第 三個字符必須是字母 ‘ 馬 ’ 的學(xué)生信息。 ? 使用換碼字符將通配符轉(zhuǎn)義為普通字符 例 14:查詢以 DB_開頭,且倒數(shù)第 3個字符為 i的課程的詳細(xì)情況。 ESCAPE 39。\ 39。 表示 “ \ ” 為換碼字符 ? NULL 涉及空值查詢 NULL表示空值??罩凳且环N不存在的或者不知道、不可用的數(shù)據(jù)。 列名 [NOT] IS NULL 這里的 IS不能用 =替代。 ? 數(shù)據(jù)庫表的行中,未被賦值的字段自動被認(rèn)為是空值。 0長度的字符串自動解釋為空值。 空值的賦值: ? 把連續(xù)兩個單引號賦值給它; ? 把空值常量 NULL賦值給它。 例 15:求缺少學(xué)習(xí)成績的學(xué)生的學(xué)號和課程號。 (查詢含有空值的行)。 SELECT SNO, CNO FROM SCORE WHERE GRADE IS NULL。 GRADE = NULL。 ? 多重條件 當(dāng)查詢條件涉及到多個時,可將若干條件通過邏輯運(yùn)算符構(gòu)成一個更復(fù)雜的條件進(jìn)行查詢。 可以使用三種邏輯運(yùn)算符: NOT 邏輯非; AND 邏輯與; OR 邏輯或 運(yùn)算符的優(yōu)先順序如下: ? = != NOT= = = ? [NOT] BETWEEN… AND [NOT] IN [NOT] LIKE IS [NOT] NULL ? NOT ? AND ? OR ? 用戶可以用括號 ( )改變優(yōu)先級。 例 16:求計算機(jī)系 (‘CS’)或數(shù)學(xué)系 (‘MA’),年齡 大于 20歲的學(xué)生姓名、系和年齡。 例 17:求選修課程 (‘001’)或課程 (‘002’),成績在 85和 95之間,學(xué)號為 96xxx的學(xué)生的學(xué)號、 課程與成績。 3. 控制行的顯示順序 ORDER BY 子句中,列名表 2指出在顯示查詢結(jié)果時,數(shù)據(jù)按指定的列排序。 ASC 升序排序(默認(rèn)值); DESC 降序排序 ? 可以選擇多列進(jìn)行排序; ? ORDER BY子句中可以使用表達(dá)式; ? ORDER BY 子句必須是放在 SELECT命令中影響選取行的所有子句的后面; ? 如果排序列含有空值時, DESC排序時,含有空值的行位于最前面; ASC排序時,含有空值的行位于最后面。 例 18:求選修課程 (‘001’)或課程 (‘002’)學(xué)生的 學(xué)號、課程號與成績,結(jié)果按課程號升 序、成績降序排序。 4. 組函數(shù) SQL提供的五種組函數(shù) COUNT( ) 計算所選數(shù)據(jù)(記錄)的個數(shù) SUM( ) 計算某一數(shù)值列的和 AVG( ) 計算某一數(shù)值列的平均值 MAX( ) 求 (字符、日期、數(shù)值列 )的最大值 MIN( ) 求 (字符、日期、數(shù)值列 )的最小值 例 19:求學(xué)生總?cè)藬?shù)。 例 20:求選修了課程的學(xué)生人數(shù)。 例 21:求計算機(jī)系學(xué)生的平均年齡。 例 22:求選修了課程 ‘ 005’的最高、最低與 平均成績。 5. 分組查詢 實(shí)現(xiàn)行的分組和分組統(tǒng)計。 在對表格進(jìn)行操作時,要求將記錄按某個或某幾個字段上相同的值分成組,然后再對組進(jìn)行相應(yīng)的操作,稱作分組查詢。 SNO SNAME SDEPT SCLASS SAGE 96001 丁一 CS 01 19 96002 王二 CS 01 20 96003 張三 CS 01 21 96004 李四 CS 02 19 96005 劉五 CS 02 20 96006 趙六 CS 04 22 96007 馬蓉 MA 01 20 96008 司馬明 MA 01 19 96009 張勝利 MA 01 20 96010 李力 CI 02 22 S SDEPT SCLASS SAGE CS 01 20 CS 02 CS 04 22 MA 01 CI 02 22 分組后的平均年齡 按系、班級分組計算學(xué)生的平均年齡 ? GROUP BY 子句
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1