??博主:命運(yùn)之光
??專欄:離散數(shù)學(xué)考前復(fù)習(xí)(知識(shí)點(diǎn)+題)
??專欄:概率論期末速成(一套卷)
??專欄:數(shù)字電路考前復(fù)習(xí)
??專欄:數(shù)據(jù)庫(kù)系統(tǒng)概述
??博主的其他文章:點(diǎn)擊進(jìn)入博主的主頁(yè)?????
前言: 身為大學(xué)生考前復(fù)習(xí)一定十分痛苦,你有沒有過以下這些經(jīng)歷:
1.啊明天要考試了,關(guān)鍵這知識(shí)點(diǎn)它不進(jìn)腦子啊。
2.小朋友,你是否有很多問號(hào),為什么,快考試了你還啥也不會(huì)。
3.你們復(fù)習(xí)的時(shí)候,也是學(xué)著學(xué)著,手機(jī)就自動(dòng)跳到手里了嗎?
4.真正的大學(xué)生敢于直面嶄新的課本。
5.睡也不敢睡,學(xué)也不想學(xué)。
6.監(jiān)考老師+地理位置+附近戰(zhàn)友友善度=考試分?jǐn)?shù)。
????當(dāng)然以上都是開些玩笑,看看下面這些題,它可以讓零基礎(chǔ)未開始學(xué)習(xí)的你以最快的速度突擊期末考試,知識(shí)點(diǎn)+練習(xí)題,突擊起來效率嘎嘎快。
?
?
目錄
??第三章 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語言SQL(重點(diǎn))
??1、SQL語言是(C)語言。
??2、SQL語言具有兩種使用方式,分別稱為交互式SQL和(C)。
??3、假定學(xué)生關(guān)系是S(S#,SNAME,SEX,AGE),課程關(guān)系是C(C#,CNAME,TEACHER),學(xué)生選課關(guān)系是SC(S#,C#,GRADE)。要查找選修“COMPUTER”課程的“女”學(xué)生姓名,將涉及到關(guān)系(D)。
??4、如下面的數(shù)據(jù)庫(kù)的表中,若職工表的主關(guān)鍵字是職工號(hào),部門表的主關(guān)鍵字是部門號(hào),SQL操作(B)不能執(zhí)行。
??5、在SQL語言中,用來測(cè)試一個(gè)集合里是否有重復(fù)元組存在,使用下列哪一個(gè)關(guān)鍵字(A)
????6、SQL數(shù)據(jù)查詢語句
SELECT語句格式:
①單表查詢
(1)選擇表中的若干列:
查詢指定列:
??例:查詢?nèi)w學(xué)生的學(xué)號(hào)與姓名
查詢所有列:(將<目標(biāo)列表達(dá)式>指定為 *)
??例:查詢?nèi)w學(xué)生的詳細(xì)記錄。
查詢結(jié)果計(jì)算的值:
??例:查全體學(xué)生的姓名及其出生年份。
(2)選擇表中的若干元組
??例:查詢選修了課程的學(xué)生號(hào)碼
查詢滿足條件的行:(WHERE語句)
??例:查詢計(jì)算機(jī)科學(xué)系全體學(xué)生的名單。(比較)
??例:查詢年齡在20~23歲(包括20歲和23歲)之間的學(xué)生的姓名、系別和年齡(確定范圍)
??例:查詢信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)科學(xué)系(CS)學(xué)生的姓名和性別。(確定集合)
??例:(字符匹配)例:某些學(xué)生選修課程后沒有參加考試,所以有選課記錄,但沒有考試成績(jī)。查詢?nèi)鄙俪煽?jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)。(空值)
??例:查詢計(jì)算機(jī)系年齡在20歲以下的學(xué)生姓名。(多重條件)
(3)ORDER BY子句
??例:查詢選修了3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)降序排列。
(4)聚集函數(shù)
??例:計(jì)算1號(hào)課程的學(xué)生平均成績(jī)。
②多表查詢
(1)等值查詢
??例:查詢每個(gè)學(xué)生及其選修課程的情況
(2)嵌套查詢
??例:查詢與“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)生
??例:查詢與“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)生
??例:查詢其他系中比計(jì)算機(jī)科學(xué)某一學(xué)生年齡小的學(xué)生姓名和年齡
??例:查詢所有選修了1號(hào)課程的學(xué)生姓名。
(3)集合查詢
??例:查詢計(jì)算機(jī)科學(xué)系的學(xué)生及年齡不大于19歲的學(xué)生。(并)
??例:查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)生(交)
??例:查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)生。(差)
??例題:設(shè)學(xué)生課程數(shù)據(jù)庫(kù)中有三個(gè)關(guān)系:
??結(jié)語
??第三章 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語言SQL(重點(diǎn))
本章內(nèi)容:SQL概述、數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)更新、視圖
本章主要考點(diǎn):基本概念、■■數(shù)據(jù)查詢的基本語句操作、數(shù)據(jù)更新語句
??1、SQL語言是(C)語言。
A.層次數(shù)據(jù)庫(kù)
B.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)
C.關(guān)系數(shù)據(jù)庫(kù)
D.非數(shù)據(jù)庫(kù)
??2、SQL語言具有兩種使用方式,分別稱為交互式SQL和(C)。
A.提示式SQL
B.多用戶SQL
C.嵌入式SQL
D.解釋式SQL
??3、假定學(xué)生關(guān)系是S(S#,SNAME,SEX,AGE),課程關(guān)系是C(C#,CNAME,TEACHER),學(xué)生選課關(guān)系是SC(S#,C#,GRADE)。要查找選修“COMPUTER”課程的“女”學(xué)生姓名,將涉及到關(guān)系(D)。
A.S
B.SC,C
C.S,SC
D.S,C,SC
??4、如下面的數(shù)據(jù)庫(kù)的表中,若職工表的主關(guān)鍵字是職工號(hào),部門表的主關(guān)鍵字是部門號(hào),SQL操作(B)不能執(zhí)行。
A.從職工表中刪除行(‘025’,‘王芳’,‘03’,720)
B.將行(‘005,’,‘喬興’,‘04’,750)插入到職工表中
C.將職工號(hào)為,‘001’的工資改為700
D.將職工號(hào)為,’038’的部門號(hào)改為‘03’
??5、在SQL語言中,用來測(cè)試一個(gè)集合里是否有重復(fù)元組存在,使用下列哪一個(gè)關(guān)鍵字(A)
A.UNIQUE
B.DISTINCT
C.EXISTS
D.NOT IN
????6、SQL數(shù)據(jù)查詢語句
SELECT語句格式:
SELECT [ALL|DISTINCT] <目標(biāo)列表達(dá)式> [,<目標(biāo)列表達(dá)式>] …
FROM <表名或視圖名>[, <表名或視圖名> ] …
[ WHERE <條件表達(dá)式> ]
[ GROUP BY <列名1> [ HAVING <條件表達(dá)式> ] ]
[ ORDER BY <列名2> [ ASC|DESC ] ]; (注:SQL語句中不區(qū)分大小寫)
①單表查詢
(1)選擇表中的若干列:
查詢指定列:
??例:查詢?nèi)w學(xué)生的學(xué)號(hào)與姓名
SELECT Sno,Sname
FROM Student;
查詢所有列:(將<目標(biāo)列表達(dá)式>指定為 *)
??例:查詢?nèi)w學(xué)生的詳細(xì)記錄。
SELECT *
FROM Student;
查詢結(jié)果計(jì)算的值:
??例:查全體學(xué)生的姓名及其出生年份。
SELECT Sname,2012-Sage /*假定當(dāng)年的年份為2012年,減去年齡
即得出生年份*/
FROM Student;
(2)選擇表中的若干元組
取消取值重復(fù)的行:(指定DISTINCT關(guān)鍵詞,去掉表中重復(fù)的行)
??例:查詢選修了課程的學(xué)生號(hào)碼
SELECT DISTINCT Sno (使用DISTINCT關(guān)鍵詞取消了重復(fù)學(xué)號(hào)的行)
FROM SC;
查詢滿足條件的行:(WHERE語句)
??例:查詢計(jì)算機(jī)科學(xué)系全體學(xué)生的名單。(比較)
SELECT Sname
FROM Student
WHERE Sdept =‘CS’;
??例:查詢年齡在20~23歲(包括20歲和23歲)之間的學(xué)生的姓名、系別和年齡(確定范圍)
SELECT Sname,Sdept,Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23;
??例:查詢信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)科學(xué)系(CS)學(xué)生的姓名和性別。(確定集合)
SELECT Sname,Ssex
FROM Student
WHERE Sdept IN ( 'IS','MA','CS' );
??例:(字符匹配)例:某些學(xué)生選修課程后沒有參加考試,所以有選課記錄,但沒有考試成績(jī)。查詢?nèi)鄙俪煽?jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)。(空值)
SELECT Sno,Cno
FROM SC
WHERE Grade IS NULL /*不能用’=’代替IS*/
??例:查詢計(jì)算機(jī)系年齡在20歲以下的學(xué)生姓名。(多重條件)
SELECT Sname
FROM Student
WHERE Sdept= 'CS' AND Sage<20;
(3)ORDER BY子句
可以按一個(gè)或多個(gè)屬性列排序。升序:ASC;降序:DESC;缺省值為升序
??例:查詢選修了3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)降序排列。
SELECT Sno,Grade
FROM SC
WHERE Cno= ' 3 '
ORDER BY Grade DESC;
(4)聚集函數(shù)
COUNT([DISTINCT|ALL] *) 統(tǒng)計(jì)元組個(gè)數(shù)
COUNT([DISTINCT|ALL] <列名>) 統(tǒng)計(jì)一列中值的個(gè)數(shù)
SUM([DISTINCT|ALL] <列名>) 計(jì)算一列值的總和
AVG([DISTINCT|ALL] <列名>) 計(jì)算一列值的平均值
MAX([DISTINCT|ALL] <列名>) 求一列中的最大值
MIN([DISTINCT|ALL] <列名>) 求一列中的最小值
??例:計(jì)算1號(hào)課程的學(xué)生平均成績(jī)。
SELECT AVG(Grade)
FROM SC
WHERE Cno= ' 1 ';
②多表查詢
(1)等值查詢
??例:查詢每個(gè)學(xué)生及其選修課程的情況
SELECT Student.*,SC.*
FROM Student,SC
WHERE Student.Sno = SC.Sno;
(2)嵌套查詢
帶有IN謂詞的子查詢:
??例:查詢與“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)生
SELECT Sno,Sname,Sdept
FROM Student
WHERE Sdept IN
(SELECT Sdept
FROM Student
WHERE Sname=‘ 劉晨 ’);
帶有比較運(yùn)算符的子查詢:(當(dāng)內(nèi)查詢的結(jié)果是一個(gè)值時(shí),可以用=代替IN)
??例:查詢與“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)生
SELECT Sno,Sname,Sdept
FROM Student
WHERE Sdept =
(SELECT Sdept
FROM Student
WHERE Sname=‘ 劉晨 ’);
帶有ANY或ALL謂詞的子查詢
??例:查詢其他系中比計(jì)算機(jī)科學(xué)某一學(xué)生年齡小的學(xué)生姓名和年齡
SELECT Sname,Sage
FROM Student
WHERE Sage < ANY (SELECT Sage
FROM Student
WHERE Sdept= ' CS ')
AND Sdept <> ‘CS ' ; /*這句是父查詢塊中的條件 */
帶有EXISTS謂詞的子查詢:
相當(dāng)于存在量詞?,帶有EXISTS謂詞的子查詢不返回任何數(shù)據(jù),只產(chǎn)生邏輯真值“true”或邏輯假值“false”。
??例:查詢所有選修了1號(hào)課程的學(xué)生姓名。
SELECT Sname
FROM Student
WHERE EXISTS (SELECT * FROM SC WHERE Sno=Student.Sno AND Cno= ' 1 ');
(3)集合查詢
集合操作的種類:并操作UNION,交操作INTERSECT,差操作EXCEPT
??例:查詢計(jì)算機(jī)科學(xué)系的學(xué)生及年齡不大于19歲的學(xué)生。(并)
SELECT *
FROM Student
WHERE Sdept= 'CS'
UNION
SELECT *
FROM Student
WHERE Sage<=19;
??例:查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)生(交)
SELECT *
FROM Student
WHERE Sdept='CS'
INTERSECT
SELECT *
FROM Student
WHERE Sage<=19
??例:查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)生。(差)
SELECT *
FROM Student
WHERE Sdept='CS'
EXCEPT
SELECT *
FROM Student
WHERE Sage <=19;
??例題:設(shè)學(xué)生課程數(shù)據(jù)庫(kù)中有三個(gè)關(guān)系:
學(xué)生關(guān)系S(S#,SNAME,AGE,SEX)
學(xué)習(xí)關(guān)系SC(S#,C#,GRADE)
課程關(guān)系C(C#,CNAME)
其中S#(學(xué)號(hào))、C#(課程號(hào))、SNAME(姓名)、AGE(年齡)、SEX(性別)、GRADE(成績(jī))、CNAME(課程名)
用SQL語句表達(dá)下列操作
(1)檢索選修課程名稱為“MATHS”的學(xué)生的學(xué)號(hào)與姓名
(2)檢索至少學(xué)習(xí)了課程號(hào)為“C1”和“C2”的學(xué)生的學(xué)號(hào)
(3)檢索年齡在18到20之間(含18和20)的女生的學(xué)號(hào)、姓名和年齡
(4)檢索平均成績(jī)超過80分的學(xué)生學(xué)號(hào)和平均成績(jī)
(5)檢索選修了全部課程的學(xué)生姓名
(6)檢索選修了三門課以上的學(xué)生的姓名
解:
(1)
SELECT SNAME,S#
FROM S,SC,C
WHERE S.S#=SC.S#
AND C.C#=SC.C#
AND CNAME=’ MATHS’
(2)
SELECT S#
FROM SC
WHERE CNO=’C1’ AND S# IN( SELECT S#
FROM SC
WHERE CNO=’C2’)
(3)
SELECT S#,SNAME,AGE
FROM S
WHERE AGE BETWEEN 18 AND 20
(4)
SELECT S# ,AVG(GRADE)
FROM SC
GROUP BY S#
HAVING AVG(GRADE)>80
(5)
SELECT SNAME
FROM S
WHERE NOT EXISTS
(SELECT *
FROM C
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE S#=S.S# AND C#=C.C# )
)
(6)
SELECT SNAME
FROM S,SC
WHERE S.S#=SC.S#
GROUP BY SNAME
HAVING COUNT(*)>3
??結(jié)語
????一路看到這里,相信你的數(shù)據(jù)庫(kù)考試應(yīng)該已經(jīng)增加了幾分勝算????
????如果喜歡本文請(qǐng)不吝點(diǎn)贊????,如果愛上本文請(qǐng)留下評(píng)論~
????如果既不想點(diǎn)贊又不想評(píng)論…那么/(ㄒoㄒ)/~~還是祝愿你考試順利啦~
文章來源:http://www.zghlxwxcb.cn/news/detail-495953.html
#include<bits/stdc++.h>
using namespace std;
int main()
{
cout<<"對(duì)編程,算法,人工智能,機(jī)器學(xué)習(xí),深度學(xué)習(xí),";
cout<<"圖像處理,大數(shù)據(jù)挖掘,web前端網(wǎng)頁(yè)設(shè)計(jì)等等感興趣的同學(xué)";
cout<<"可以關(guān)注命運(yùn)之光,命運(yùn)之光正在努力學(xué)習(xí),";
cout<<"不斷的提升自己的專業(yè)能力,耗油跟,加加布魯根!"<<endl;
return 0;
}
再接再厲,繼續(xù)加油!?文章來源地址http://www.zghlxwxcb.cn/news/detail-495953.html
到了這里,關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)概述——第三章 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語言SQL(知識(shí)點(diǎn)復(fù)習(xí)+練習(xí)題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!