SQL專題複習

2022-11-22 09:06:04 字數 4560 閱讀 8010

工作版本資訊

目錄1.知識點梳理 1

1.1基本內容梳理 1

(1) sql的組成 1

(2) 基本表的建立、修改和撤銷 2

(3) select查詢語句的基本結構 2

(4) 聚合函式 3

(5) select語句完整的句法 3

1.2重要內容分析 4

專項練習題 5

基本表的建立:基本表c的建立語句

create table c

c# char(4),

cname char(10) not null,

t# char(4),

primary key(c#),

foreignkey (t#) references t(t#));

對基本表的結構進行修改,即增加新的列、刪除原有的列或修改資料型別、寬度等。

a.增加新的列用「alter…add…」語句,其句法如下:

alter table 《基本表名》 add 《列名》 《型別》

語句:alter table s add address varchar(30);

b.刪除原有的列用「alter…drop…」語句,句法:

alter table 《基本表名》drop 《列名》cascade│restrict]

語句:alter table s drop age cascade;

c.修改原有列的型別、寬度的句法如下:

alter table 《基本表名》 modify 《列名》 《型別》

語句:alter table s modify s# char(6);

基本表的撤銷

● 撤銷語句的句法如下:

drop table 《基本表名》[cascade│restrict]

此處的cascade、restrict的語義同前面句法中的語義一樣。

● 例3.5 需要撤銷基本表s。但只有在沒有檢視或約束引用基本表s中的列時才能撤銷,否則拒絕撤銷。可用下列語句實現:

drop table s restrict;

● 索引的建立

建立索引可用「create index」語句實現。其句法如下:

create [unique] index 《索引名》

on 《基本表名》(列名表)

語句:create unique index s#_index on s(s#);

create unique index sc_index

on sc(s# asc,c# desc);

● 索引的撤消

當索引不需要時,可以用「drop index」語句撤消,其句法如下:

drop index 《索引名》

語句:drop index s#_index,sc_index;

● select—from—where句型

在關係代數中最常用的式子是下列表示式:

a1,…,an(σf(r1×…×rm))

針對上述表示式,

sql為此設計了select—from—where句型:

select a1,…,an

from r1,…,rm

where f

● 在where子句的條件表示式f中可使用下列運算子

●算術比較運算子或!=。

●邏輯運算子:and,or,not。

●集合成員資格運算子:in,not in。

●謂詞:exists,all,some,unique。

●聚合函式:**g,min,max,sum,count。

●f中運算物件還可以是另乙個select語句,即select語句可以巢狀。

●另外,select語句的查詢結果之間還可以進行集合的並、交、差操作,其運算子是:union,intersect,except。

● count(*) 計算元組的個數

● count(列名) 對一列中的值計算個數

● sum(列名) 求某一列值的總和(此列的值必須是數值型)

● **g(列名) 求某一列值的平均值(此列的值必須是數值型)

● max(列名) 求某一列值的最大值

● min(列名) 求某一列值的最小值

聚合函式使用例項:

①求男學生的總人數和平均年齡。

select count(*),**g(age)

from s

where ***='m';

②統計選修了課程的學生人數。

select count(distinct s#)

from sc;

select 目標表的列名或列表示式序列

from 基本表名和(或)檢視序列

[where 行條件表示式]

[group by 列名序列

[h**ing 組條件表示式 ]]

[order by 列名[asc|desc],…]

● 整個語句的執行過程如下:

a.讀取from子句中基本表、檢視的資料,執行笛卡兒積操作。

b.選取滿足where子句中給出的條件表示式的元組。

c.按group子句中指定列的值分組,同時提取滿足h**ing子句中組條件表示式的那些組。

d.按select子句中給出的列名或列表示式求值輸出。

子句對輸出的目標表進行排序,按附加說明asc公升序排列,或按desc降序排列。

(1) select語句的**(與關係代數的對應)

在關係代數中最常用的式子是下列表示式:

a1,…,an(σf(r1×…×rm))

表示式中的r1、…、rm為關係,f是公式,a1、…、an為屬性。

針對上述表示式,sql為此設計了select—from—where句型:

select a1,…,an

from r1,…,rm

where f

這個句型是從關係代數表示式演變來的,但where子句中的條件表示式f要比關係代數中公式更靈活。

(2) select語句**現的基本表名,應理解為基本表中的元組變數,而列名應理解為元組分量。

(3) select語句的語義有三種情況,下面以學生表s(s#,sname,age,***)為例說明。

情況一:select語句中未使用分組子句,也未使用聚合操作,那麼select子句的語義是對查詢的結果執行投影操作。

譬如:select s#,sname

from s

where ***='m';

情況二:select語句中未使用分組子句,但在select子句中使用了聚合操作,此時select子句的語義是對查詢結果執行聚合操作。

譬如: select count(*),**g(age)

from s

where ***='m';

該語句是求男同學的人數和平均年齡。

情況三:select語句使用了分組子句和聚合操作(有分組子句時必有聚合操作),此時select子句的語義是對查詢結果的每一分組去做聚合操作。

譬如: select age,count(*)

from s

where ***='m'

group by age;

該語句是求男同學每一年齡的人數。

(4) select語句的**(與關係代數的對應)

select語句中使用分組子句的先決條件是要有聚合操作。但執行聚合操作不一定要用分組子句。譬如求男同學的人數,此時聚合值只有乙個,因此不必分組。

但同乙個聚合操作的值有多個時,必須使用分組子句。譬如求每一年齡的學生人數。此時聚合值有多個,與年齡有關,因此必須分組。

對於教學資料庫的三個基本表:

學生 student(sno,sname,age,***)

其屬性是學生學號,學生名稱,年齡,性別。

選課 sc(sno,cno, grade)

其屬性是學生學號,學生選的課程號,成績。

課程 course(cno,cname,teacher)

其屬性是全部課程號,課程名稱,教師名稱。

(1) 年齡不小於22歲的男學生的學號和姓名。

(2) 查詢所有姓王的學生的姓名和年齡。

(3) 查詢已經選過課的學生學號。

(4) 查詢尚無成績的學生學號。

(5) 查詢數學系(ma)和電腦科學系(cs)學生的姓名和性別。

(6) 查詢各門課程的最低成績,要求顯示課程號及最低成績。

(7) 查詢課程號為「01」的學生成績,要求顯示學號、姓名及成績。

(8) 查詢每個學生平均成績大於90的學號。

(9) 統計每門課程的學生選修人數(超過15人的課程才統計)。要求顯示課程號和人數,查詢結果按人數降序排列,若人數相同,按課程號公升序排列。

(10) 查詢選了張三老師課的學生學號。

(11) 查詢每個學生超過他選修課程平均成績的學號及課程號。

(12) 把低於所有課程總平均成績的女同學的成績提高3% 。

(13) 三個表中,sno、sname、cno、grade是經常被一起查詢的屬性。為了方便查詢,建立乙個檢視v_stdtgrade,其屬性為以上四個屬性,寫出建立v_stdtgrade的語句。

光學專題複習

2018年中考物理光學專題複習 1 2017河南 無人機利用攜帶的焦距一定的 機進行航拍,來自地面景物的光通過攝像機鏡頭,會聚在感光晶元上,形成倒立 選填 放大 或 縮小 的實像 當無人機上公升時,須 選填 增大 或 減小 鏡頭與感光晶元間的距離,才能拍攝到清晰的畫面。2 2017河南 圖12是 平...

英語專題複習

英語專題複習 介詞 一 介詞的用法 介詞是一種虛詞,介詞不能單獨做句子成分,必須與它後面的名詞或代詞 或相當於名詞的其他詞類 短語或從句 構成介詞短語。二 介詞的分類 一 簡單介詞 about at by under of over past 等。二 合成介詞 inside into outside...

專題一複習

注意 1 計量數的變化與反應熱數值的變化要對應 2 反應方向發生改變反應熱的符號也要改變 反應熱計算的常見題型 1 化學反應中物質的量的變化與反應能量變化的定量計算。2 理論推算反應熱 依據 物質變化決定能量變化 1 蓋斯定律設計合理路徑 路徑1總能量變化等於路徑2總能量變化 2 通過已知熱化學方程...