第一篇:SQL習(xí)題練習(xí)_1_zxx(寫(xiě)寫(xiě)幫推薦)
常用sql server 語(yǔ)句 A
設(shè)有教學(xué)數(shù)據(jù)庫(kù)的三個(gè)基本表:學(xué)生表Student(Sno,Sname,Sage,Ssex, Sdept), 課程表Course(Cno,Cname,Teacher), 選課表 SC(Sno,Cno,Grade), 用SQL語(yǔ)言實(shí)現(xiàn)下列功能: 1.建立學(xué)生表Student,其中姓名屬性值是唯一的,性別屬性不能為空。
2.查詢所有年齡在22歲以上的女學(xué)生姓名及其年齡。
3.查詢選修了C3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)的降序排列。
4.查詢學(xué)習(xí)1號(hào)課程的學(xué)生最高分?jǐn)?shù)、最低分及平均成績(jī)。
5.查詢與’張軍’在同一個(gè)系學(xué)習(xí)的學(xué)生信息。
6.將化學(xué)工程系全體學(xué)生的成績(jī)提高5%。
7.查詢選修成績(jī)大于60分的學(xué)生的學(xué)號(hào)及姓名。
8.刪除選修高等數(shù)學(xué)所有學(xué)生的成績(jī)記錄。
9.求年齡大于男同學(xué)平均年齡的女學(xué)生姓名和年齡。
10.統(tǒng)計(jì)每門課程的選修人數(shù)大于20的課程,并輸出課程號(hào)和選修人數(shù)。
11.檢索姓劉的所有學(xué)生的姓名和年齡。
12.統(tǒng)計(jì)每個(gè)學(xué)生選修課程的情況,并輸出學(xué)號(hào)和選修課程數(shù)目。
13.把選修MATHS課不及格的成績(jī)?nèi)臑榭罩怠?/p>
14.刪除王力選課記錄。
15.在sc中,把英語(yǔ)課成績(jī)提高10% A 1.建立學(xué)生表Student,其中姓名屬性值是唯一的,性別屬性不能為空。CREATETABLE Student(Sno CHAR(5)Primary key, Sname CHAR(20)UNIQUE,Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(15));
2.查詢所有年齡在22歲以上的女學(xué)生姓名及其年齡。SELECT Sname, Sage from student WHERE Sage >20 and Ssex=’F’
3.查詢選修了C3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)的降序排列。SELECT Sno, Grade FROM SC WHERE Cno='C3' ORDER BY Grade DESC
4.查詢學(xué)習(xí)1號(hào)課程的學(xué)生最高分?jǐn)?shù)、最低分、平均成績(jī)。SELECT MAX(Grade), MIN(Grade),AVG(Grade)FROM SC WHERE Cno='1'
5.查詢與“張軍”在同一個(gè)系學(xué)習(xí)的學(xué)生信息。SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN(SELECT Sdept FROM Student
WHERE Sname='張大山')
6.將化學(xué)工程系全體學(xué)生的成績(jī)提高5%。UPDATE SC
SET Grade= Grade*1.1
WHERE Sno in(SELECT Sno FROM Student WHERE Sdept = '化學(xué)工程系')
7.查詢選修成績(jī)大于60分的學(xué)生的學(xué)號(hào)及姓名。SELECT Sno, Sname from student,sc WHERE student.sno=sc.sno and grade>60
8.刪除選修高等數(shù)學(xué)所有學(xué)生的成績(jī)記錄。
DELETE FROM SC
WHERE Cno in(SELECT Cno FROM Course WHERE Cname = '高等數(shù)學(xué)')
9.求年齡大于男同學(xué)平均年齡的女學(xué)生姓名和年齡。SELECT Sname , Sage from Student Where Ssex=’女’ and Sage>(Select Avg(Sage)from Student Where Ssex=’男’)
10.統(tǒng)計(jì)每門課程的選修人數(shù)大于20的課程,并輸出課程號(hào)和選修人數(shù)。SELECT Cno,Count(Sno)from SC Group by Cno Having Count(*)>15 11.檢索姓劉的所有學(xué)生的姓名和年齡。
SELECT Sname,Sage FROM S
WHERE Sname LIKE '劉%'
12.統(tǒng)計(jì)每個(gè)學(xué)生選修課程的情況,并輸出學(xué)號(hào)和選修課程數(shù)目。SELECT Sno,Count(Cno)from SC
Group by Sno
13.把選修MATHS課不及格的成績(jī)?nèi)臑榭罩怠?/p>
update sc
set grade=null
where grade<60 and cno in(select cno from c where cname='maths')14.刪除王力選課記錄。
DELETE FROM SC
WHERE sno in(SELETE sno FROM Student WHERE sname=‘王力’);
15.在sc中,把英語(yǔ)課成績(jī)提高10%
UPDATE SC
SET Grade=1.1*Grade
WHERE cno in(SELETE cno FROM course WHERE cname = ‘英語(yǔ)’);
常用sql server 語(yǔ)句
B
設(shè)有教學(xué)數(shù)據(jù)庫(kù)的三個(gè)基本表:學(xué)生表Student(Sno,Sname,Sage,Ssex, Sdept), 課程表Course(Cno,Cname,Teacher), 選課表 SC(Sno,Cno,Grade), 用SQL語(yǔ)言實(shí)現(xiàn)下列功能: 1.建立課程表Course,其中課程名屬性值是唯一的,教師屬性不能為空。
2.查詢計(jì)算機(jī)科學(xué)系全體學(xué)生的名單。
3.查詢選修了1號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)的升序排列。
4.查詢學(xué)習(xí)2號(hào)課程的學(xué)生最高分?jǐn)?shù)、最低分?jǐn)?shù)、平均成績(jī)。
5.查詢選修成績(jī)大于85分的學(xué)生的學(xué)號(hào)及姓名。
6.將選修王軍老師所授課程所有學(xué)生的成績(jī)提高5%。
7.檢索學(xué)號(hào)比王小軍同學(xué)小的學(xué)生姓名。
8.刪除外語(yǔ)系所有學(xué)生的成績(jī)記錄。
9.求年齡小于女同學(xué)平均年齡的男學(xué)生姓名和年齡。
10.統(tǒng)計(jì)每門課程的選修人數(shù)大于50的課程,并輸出課程號(hào)和選修人數(shù)。
11.在sc中,把高等數(shù)學(xué)課成績(jī)提高10%
12.統(tǒng)計(jì)每個(gè)學(xué)生選修課程的情況,并輸出學(xué)號(hào)和選修課程數(shù)目。
13.把選修大學(xué)物理課不及格的成績(jī)?nèi)臑榭罩怠?/p>
14.刪除張紅選課記錄。
15.檢索姓王的所有學(xué)生的姓名、年齡和選課成績(jī)。
1.建立課程表Course,其中課程名屬性值是唯一的,教師屬性不能為空。CREATETABLE Course(Cno CHAR(5)Primary key, Cname CHAR(20)UNIQUE, Teacher CHAR(2)NOT NULL);
2.查詢計(jì)算機(jī)科學(xué)系全體學(xué)生的名單。SELECT Sname from student WHERE Sdept=’計(jì)算機(jī)科學(xué)系’
3.查詢選修了1號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)的升序排列。SELECT Sno, Grade FROM SC WHERE Cno='1' ORDER BY Grade
4.查詢學(xué)習(xí)2號(hào)課程的學(xué)生最低分?jǐn)?shù)、平均成績(jī)。SELECT MIN(Grade), AVG(Grade)FROM SC WHERE Cno='2'
5.查詢選修成績(jī)大于85分的學(xué)生的學(xué)號(hào)及姓名。SELECT Sno, Sname from student,sc WHERE student.sno=sc.sno and grade>80
6.將選修王軍老師所授課程所有學(xué)生的成績(jī)提高5% UPDATE SC
SET Grade= Grade*1.05 WHERE Cno in(SELECT Cno FROM Course WHERE Cname = '王軍')
7.檢索學(xué)號(hào)比王小軍同學(xué)小的學(xué)生姓名 SELECT Sname from Student Where Sno<(Select sno from Student where Sname=’王小軍’)
8.刪除外語(yǔ)系所有學(xué)生的成績(jī)記錄。
DELETE FROM SC
WHERE Sno in(SELECT Sno FROM Student WHERE Sdept = '外語(yǔ)系')
9.求年齡小于女同學(xué)平均年齡的男學(xué)生姓名和年齡。
SELECT Sname , Sage from Student Where Ssex=’男’ and Sage<(Select Avg(Sage)from Student Where Ssex=’女’)
10.統(tǒng)計(jì)每門課程的選修人數(shù)大于50的課程,并輸出課程號(hào)和選修人數(shù)。SELECT Cno,Count(Sno)from SC Group by Cno Having Count(*)>50 11.在sc中,把高等數(shù)學(xué)課成績(jī)提高10%
UPDATE SC
SET Grade=1.1*Grade
WHERE cno in(SELETE cno FROM course WHERE cname = ‘高等數(shù)學(xué)’);
11.檢索姓劉的所有學(xué)生的姓名和年齡。
SELECT Sname,Sage FROM S
WHERE Sname LIKE '劉%'
12.統(tǒng)計(jì)每個(gè)學(xué)生選修課程的情況,并輸出學(xué)號(hào)和選修課程數(shù)目。SELECT Sno,Count(Cno)from SC
Group by Sno
13.把選修大學(xué)物理課不及格的成績(jī)?nèi)臑榭罩怠?/p>
update sc
set grade=null
where grade<60 and cno in(select cno from c where cname='大學(xué)物理課')14.刪除張紅選課記錄。
DELETE FROM SC
WHERE sno in(SELETE sno FROM Student WHERE sname=張紅’);
15.檢索姓王的所有學(xué)生的姓名、年齡和選課成績(jī)。
SELECT Sname,Sage,grade FROM Student, SC
WHERE Sname LIKE '劉%' and Student.sno=sc.sno
第二篇:SQL習(xí)題1
Customers(cid,cname,city,discnt)存儲(chǔ)客戶信息。
cid 主鍵,客戶的惟一標(biāo)識(shí)符 cname 客戶名稱 city 客戶所在城市
discnt客戶在價(jià)格上所獲得的折扣
saleagents(aid,aname,city,percent)存儲(chǔ)銷售代理的信息
aid 主鍵,銷售代理的惟一標(biāo)識(shí)符 aname 銷售代理的名稱 city 銷售代理所在城市
percent 銷售代理每筆交易的提成
products(pid,pname,city,quantity,price)存儲(chǔ)產(chǎn)品的信息
pid主鍵,銷售代理的惟一標(biāo)識(shí)符 pname 產(chǎn)品名稱
city 產(chǎn)品在哪個(gè)城市存放 quantity產(chǎn)品的庫(kù)存量 price產(chǎn)品的單價(jià) orders(orderno,month,cid,aid,pid,qty,dollars)存儲(chǔ)每一筆交易的信息
orderno 主鍵,每一筆定單的編號(hào) month 簽訂定單的月份
cid 客戶的標(biāo)識(shí)符,用于指明是和哪一個(gè)客戶簽訂的定單
aid 代理的標(biāo)識(shí)符,用于指明是和哪一個(gè)代理簽訂的定單
qty 定單交易的產(chǎn)品數(shù)量 dollars交易的總的價(jià)格
1. 查詢產(chǎn)地為上海的產(chǎn)品的名稱與庫(kù)存量。
2. 查詢產(chǎn)地為上海、北京、深圳的產(chǎn)品名稱與價(jià)格。
3. 查詢價(jià)格在低于50的產(chǎn)品名稱與單價(jià)。4. 查詢客戶的全部信息。
5. 在定單(ORDER表)中查詢不重復(fù)的客戶號(hào)。
6. 查詢庫(kù)存量在3000與5000之間的產(chǎn)品名稱與庫(kù)存量。7. 查詢不在北京、深圳和上海的客戶名稱和所在城市。
8. 查詢客戶名稱最后一個(gè)字為‘南’的客戶編號(hào)與名稱。
9. 查詢銷售代理的編號(hào)和名稱并用別名的方式將相應(yīng)的列標(biāo)題改為‘代理編號(hào)’,‘代理名稱’ 查詢產(chǎn)品名稱第二個(gè)字為‘電’的產(chǎn)品編號(hào)和名稱。查詢產(chǎn)品名稱為以‘電-’開(kāi)頭的所有產(chǎn)品信息 查詢產(chǎn)品庫(kù)存量在2000以上的產(chǎn)品名稱與庫(kù)存量并按庫(kù)存量的降序排列
select pname,quantity from products where quantity>2000 order by quantity desc;查詢產(chǎn)品的全部信息并按價(jià)格升序,庫(kù)存量降序排列。
Select * from products orderby price,quantity desc;
1.在產(chǎn)品表中查詢產(chǎn)品數(shù)量小于10000,價(jià)格大于20元的商品信息。
2.檢索所有的客戶信息,并按折扣率升序排列。
3.檢索所有的產(chǎn)品信息,查詢結(jié)果按產(chǎn)品的庫(kù)存量升序排列,庫(kù)存量相同的按產(chǎn)品的單位售價(jià)降序排列。4.查詢客戶總?cè)藬?shù)。
5.查詢簽了訂單的總?cè)藬?shù)。6.查詢CPU的平均價(jià)格。7.查詢CPU的最高、最低價(jià)。
8.計(jì)算C001客戶所簽訂單中的產(chǎn)品總量。9.計(jì)算所有產(chǎn)品的平均價(jià)格。
10.代理商A001所做的定單中,銷售額最大的定單額度。
11.Select Max(dollars)from orders where aid=’A001’;12.檢索每一客戶及相應(yīng)的定單數(shù)。13.檢索簽訂的定單數(shù)超過(guò)5的客戶及相應(yīng)的定單數(shù)。
14.檢索每個(gè)客戶及其與此客戶簽訂的定單情況。Select customers.* ,orders.* from customers,orders where customers.cid =orders.cid
15.檢索至少簽訂了兩個(gè)定單的客戶編號(hào)。Select cid form orders A,orders B where A.cid =B.cid and A.orderno<> B.orderno
查詢每個(gè)客戶簽定的定單數(shù)。Select cid,count(cid)from orders group by cid;
16.檢索“AK公司”所簽的每筆定單的數(shù)量及代理的名稱。//子查詢
17.檢索與C001客戶在同一個(gè)城市的所有客戶信息。
18.檢索所有通過(guò)代理A003或A004購(gòu)買產(chǎn)品的客戶信息。
19.檢索所有不通過(guò)代理A003或A004購(gòu)買產(chǎn)品的客戶信息。
20.檢索所有通過(guò)紐約的代理購(gòu)買產(chǎn)品的客戶信息。
21.檢索滿足如下條件的客戶信息:此客戶簽訂的定單中的數(shù)量(qty)大于C001客戶所簽的所有定單中某一個(gè)定單的數(shù)量(qty)。
22.檢索客戶簽定的定單中比C001所簽的所有定單的數(shù)量都大的定單的信息。
SC(SNO,CNO,GRADE)輸出每個(gè)學(xué)生學(xué)號(hào)及其相應(yīng)選課數(shù)。//連接查詢
Select sno,count(cno)from SC group by sno;
Select sno, count(sno)where grade>80 group by sno having count(sno)> 3 2 查詢選課數(shù)目大于3的學(xué)生學(xué)號(hào)及課程數(shù)。查詢有三門以上課程分?jǐn)?shù)在80分以上的學(xué)生學(xué)號(hào)和課程數(shù)。查詢每個(gè)學(xué)生選修的課程號(hào)。Select cno from SC;Select sno,cno from SC;查詢每個(gè)學(xué)生選修的課程并且按學(xué)號(hào)降序排列。
Select sno,cno from SC Order by sno DESC;7 查詢學(xué)號(hào)為‘003’的學(xué)生選修的課程號(hào)。
Select cno from SC where sno=’003’;8 查詢學(xué)號(hào)為‘003’的學(xué)生選修的課程數(shù)。
Select count(cno)from SC where sno=’003’;查詢每個(gè)學(xué)生及其選修的課程數(shù)。Select sno,count(cno)from SC group by sno;查詢每門課程選課的人數(shù)。
Select cno,count(sno)from SC group by cno;11 查詢選修的課程數(shù)不低于兩門的學(xué)生學(xué)號(hào)和課程數(shù)。
Select sno,count(cno)from SC group by sno having count(cno)>=2;12 查詢選修的學(xué)生數(shù)不低于20人的課程號(hào)及選修的學(xué)生數(shù)。
Select cno,count(sno)from SC group by cno having count(sno)>=20;查詢選修了兩門或兩門以上課程的學(xué)生學(xué)號(hào)。
select sno from SC A , SC B where A.sno=B.sno and A.cno<>B.cno;Select sno,count(sno)from sc group by sno having count(sno)>=2
作業(yè)
有如下數(shù)據(jù)庫(kù):
學(xué)生表:
student(sno,sname,ssex,sage,sdept)課程表:
course(cno,cname,cpno,ccredit)學(xué)生選課表:sc(sno,cno,grade)1.查詢所有學(xué)生的學(xué)號(hào)和姓名。2.查詢CS系年齡20歲以下的學(xué)生學(xué)號(hào)和姓名。
3.按系別升序,同一個(gè)系按學(xué)號(hào)降序顯示全體女生的信息。4.查詢?nèi)颗娜藬?shù)。5.查詢各個(gè)系女生的人數(shù)。
6.查詢女生人數(shù)超過(guò)50人的系及女生人數(shù)。
1.查詢?nèi)w學(xué)生的姓名、選修的課程名及分?jǐn)?shù)。
2.查詢CS系選修了課程名為‘MATH’的學(xué)生姓名和分?jǐn)?shù)。3.查詢CS系選修了課程名為‘MATH’的學(xué)生平均分?jǐn)?shù)。4.查詢CS系選修了課程名為‘MATH’的學(xué)生人數(shù)。5.查詢選修了‘EN’課的最高分的學(xué)生姓名及分?jǐn)?shù)。
6.查詢選修了‘EN’課的全體學(xué)生的總分。
7.查詢各系選修‘EN’課的學(xué)生這門課的最高分、平均分,選課人數(shù)
8.查詢CS系和IS系全體學(xué)生的信息。
第三篇:SQL語(yǔ)句練習(xí)
1.用SQL語(yǔ)句在“商學(xué)院教學(xué)管理”數(shù)據(jù)庫(kù)中建立學(xué)生表、課程表、成績(jī)表、教師表、授課表、班級(jí)表。實(shí)現(xiàn)下列要求:
(1)按課本第99-100頁(yè)表結(jié)構(gòu)要求建立以上六張表。
(2)在學(xué)生表中插入一個(gè)學(xué)生記錄:(”99082901”,”程麗”,”女”,1981-2-10,”群眾”,”200704”)。
(3)使選修CZ004號(hào)課的同學(xué)的成績(jī)?yōu)镹ULL值。
(4)為課程表加一”教師”列。
(5)修改課程表,使“肖貴”老師教CJ001號(hào)課。
(6)列出“王勇”老師所授課程的課號(hào)和課名。
(7)列出年齡不小于20的男生的學(xué)號(hào)和姓名。
(8)統(tǒng)計(jì)學(xué)生所選課程的門數(shù)。
(9)列出選修CJ001號(hào)課的學(xué)生的平均年齡。
(10)列出選修“計(jì)算機(jī)基礎(chǔ)”課的學(xué)生的平均成績(jī)、最高分和最低分。
(11)列出所有姓“李”的同學(xué)的姓名、年齡和性別。
(12)列出成績(jī)表中成績(jī)?yōu)榭罩档膶W(xué)生的姓名、課號(hào)。
(13)列出年齡大于女生平均年齡的男生的姓名和年齡。
(14)刪除成績(jī)表中無(wú)成績(jī)的記錄。
(15)把低于CJ001號(hào)課平均成績(jī)的所有同學(xué)的所有課程的成績(jī)提高5分。
(16)按學(xué)號(hào)升序,成績(jī)降序列出每個(gè)同學(xué)的選課情況(包括姓名、課名、成績(jī))。
(17)按課號(hào)和成績(jī)降序列出每門課的選課情況包括課名、姓名、成績(jī)。
(18)按成績(jī)降序列出每個(gè)同學(xué)的姓名、總成績(jī)。
(19)求出學(xué)習(xí)全部課程的所有同學(xué)的名單。
(20)列出平均成績(jī)大與80分同學(xué)的學(xué)號(hào)和平均成績(jī),按平均成績(jī)降序排列。
(25)查詢平均成績(jī)排在前5名的學(xué)生姓名及平均成績(jī)。
(26)統(tǒng)計(jì)選修課程在3門以上(含3門)的學(xué)生的學(xué)號(hào)、姓名和平均成績(jī)。
(27)查詢學(xué)生年齡超過(guò)21歲的學(xué)生信息。
(28)列出所有姓“李”的同學(xué)的學(xué)號(hào)、姓名、年齡和性別。
(29)按成績(jī)降序列出每個(gè)同學(xué)的姓名、總成績(jī)。
第四篇:SQL數(shù)據(jù)庫(kù)上機(jī)練習(xí)3
SQL數(shù)據(jù)庫(kù)上機(jī)練習(xí)3
在C:盤根目錄下用自己的名字加“_DB”建立一個(gè)文件夾。(例:“王平_DB”)
一.(6分)在SQL Server Management Studio中建立滿足如下要求的數(shù)據(jù)庫(kù):
1. 數(shù)據(jù)庫(kù)名字為:TGDB;
2. 此數(shù)據(jù)庫(kù)包含的一個(gè)主數(shù)據(jù)文件和一個(gè)輔助數(shù)據(jù)文件。主數(shù)據(jù)文件的邏輯文件名為:TG_data1,物理文件名為TG_data1.mdf,存放在新建文件夾下,初始大小為4MB,自動(dòng)增長(zhǎng),每次增加20%,最多增加到8MB。輔助數(shù)據(jù)文件的邏輯文件名為:TG_data2,物理文件名為TG_data2.ndf,同主數(shù)據(jù)文件存放在相同的位置,初始大小為2MB,不自動(dòng)增長(zhǎng)。
3. 日志文件包含一個(gè),其邏輯文件名為:TG_log,物理文件名為TG_log.ldf,同主數(shù)據(jù)文件存放在相同的位置,初始大小為3MB,增長(zhǎng)方式為自動(dòng)增長(zhǎng),每次增加1MB,文件增長(zhǎng)不受限制。二.(10分)為描述作者向期刊的投稿情況,建立了三張表:作者表、期刊表和投稿表。期刊表用于描述期刊的基本信息,作者表用于描述作者的基本信息,投稿表用于描述作者向期刊的投稿情況。在查詢分析器中寫(xiě)出創(chuàng)建這三張表的語(yǔ)句,并將語(yǔ)句以文件形式保存下來(lái),文件名為“考生名.sql”,存放在新建的文件夾下。可以將后續(xù)所有的SQL語(yǔ)句均保存在此文件中,在文件中注明題號(hào),不用抄題)。
注:括號(hào)中為表名和列名的拼音表示,建表時(shí)用拼音表示表名和列名,不區(qū)分大小寫(xiě)。三張表的結(jié)構(gòu)如下: 1.作者表(ZZB)
作者號(hào)(zzh)普通字符編碼定長(zhǎng)字符型,長(zhǎng)度為4,主碼;
作者名(zzm)統(tǒng)一字符編碼可變長(zhǎng)字符型,最多5個(gè)漢字,取值不重復(fù)。
2.期刊表(QKB)
期刊號(hào)(qkh)
普通字符編碼定長(zhǎng)字符型,長(zhǎng)度為4,主碼;
期刊名(qkm)
普通字符編碼可變長(zhǎng)字符型,最大長(zhǎng)度為20,非空;
類別(lb)
普通字符編碼定長(zhǎng)字符型,長(zhǎng)度為2,取值為“是”或“否”
(說(shuō)明:“是”表示此期刊為核心期刊,“否”表示此期刊為非核心期刊)。
版面費(fèi)(bmf)
整型。
3.投稿表(TGB)
作者號(hào)(zzh)
普通字符編碼定長(zhǎng)字符型,長(zhǎng)度為4,非空; 期刊號(hào)(qkh)
普通字符編碼定長(zhǎng)字符型,長(zhǎng)度為4,非空; 投稿日期(tgrq)
小日期時(shí)間型,非空,默認(rèn)值為系統(tǒng)當(dāng)前時(shí)間; 文章名稱(wzmc)普通字符編碼定長(zhǎng)字符型,長(zhǎng)度為50;
審稿結(jié)果(sgjg)
統(tǒng)一字符編碼定長(zhǎng)字符型,長(zhǎng)度為3,取值范圍為{通過(guò),未通過(guò)},默認(rèn)值為“未通過(guò)”。
其中,主碼為(作者號(hào),期刊號(hào),投稿日期),“作者號(hào)”為引用作者表的“作者號(hào)”的外碼; “期刊號(hào)”為引用期刊表的“期刊號(hào)”的外碼。
三.(6分)運(yùn)行C:exam.exe程序解壓縮數(shù)據(jù)文件(可解壓到任何地方),解壓縮的密碼為“dbok”。利用SQL Server的導(dǎo)入導(dǎo)出向?qū)В瑢ⅰ捌诳?txt”文件中的數(shù)據(jù)導(dǎo)入到“期刊表”中,將解壓后的 “作者與投稿表.xls”文件中的數(shù)據(jù)分別導(dǎo)入到 “作者表”和“投稿表”中。四.(6分)在SQL Server Management Studio中創(chuàng)建“SQL Server身份驗(yàn)證”模式的登錄帳號(hào):TG_User,其中賬戶密碼為空,默認(rèn)數(shù)據(jù)庫(kù)為Master。并完成如下操作: 1.讓TG_User成為TGDB數(shù)據(jù)庫(kù)的合法用戶。
2.在TGDB數(shù)據(jù)庫(kù)中建用戶自定義角色:MyRole,讓TG_User成為MyRole角色中的成員。3.用較好的方法授予MyRole在TGDB數(shù)據(jù)庫(kù)中具有所有用戶表的查詢權(quán)。
五.(4分)在SQL Server Management Studio中按要求完成下列操作:
1.創(chuàng)建一個(gè)永久備份設(shè)備,備份設(shè)備的名字為“TG_BK”,存放在新建文件夾下,物理文件名為“TG_BK.bak”。
2.用“TG_BK”備份設(shè)備對(duì)“TGDB”進(jìn)行一次完全備份。六.(28分)利用第二題的三張表,在查詢分析器中寫(xiě)出實(shí)現(xiàn)如下要求的SQL語(yǔ)句,注明題號(hào)。并將這些語(yǔ)句與第二題所寫(xiě)的語(yǔ)句保存在一起。(注:要求下述語(yǔ)句均使用一條SQL語(yǔ)句完成)1.查詢2006年以后(包括2006年)的投稿情況,列出作者名、期刊名、文章名稱和投稿日期。2.查詢姓哪個(gè)姓的作者最多,列出這個(gè)姓氏和姓這個(gè)姓氏的作者人數(shù),包含并列的情況。3.查詢作者“楊伍華”沒(méi)有投過(guò)稿的核心期刊的名稱。
4.查詢“楊伍華”投過(guò)稿的期刊的投稿情況,顯示期刊號(hào),審稿通過(guò)總次數(shù),版面費(fèi)總金額(說(shuō)明:只有審稿結(jié)果為“通過(guò)”時(shí),作者才需向期刊繳納相應(yīng)版面費(fèi)),要求只列出投稿次數(shù)超過(guò)5次(不包括5次)且版面費(fèi)總金額大于7000的情況。
5.查詢?nèi)w作者(包括還沒(méi)有投過(guò)稿的作者)的人均投稿次數(shù),列出總投稿次數(shù)、總?cè)藬?shù)和人均投稿次數(shù)。要求平均投稿次數(shù)保存到小數(shù)點(diǎn)后2位。
6.向投稿表中插入一條記錄,作者號(hào)為“zz01”,期刊號(hào)為“qk02”,文章名稱為“地鐵限界系統(tǒng)的研究”,投稿日期和審稿結(jié)果為默認(rèn)值。7.刪除投稿表中2000年以前(包括2000年),期刊名為“哲學(xué)研究”中審稿未通過(guò)的的投稿記錄。七.(10)統(tǒng)計(jì)每位作者的投稿情況,列出作者名,投稿通過(guò)率(保留到小數(shù)點(diǎn)后2位),評(píng)價(jià)。其中,當(dāng)投稿通過(guò)率高于0.7,評(píng)價(jià)為“高”;當(dāng)投稿通過(guò)率在0.4到0.7之間,評(píng)價(jià)為“中”;當(dāng)投稿通過(guò)率低于0.4,評(píng)價(jià)為“低”。(可分步驟實(shí)現(xiàn))八.(10)用游標(biāo)實(shí)現(xiàn)按如下報(bào)表形式顯示結(jié)果的SQL語(yǔ)句。該報(bào)表首先輸出期刊名稱(只包括有投稿記錄的期刊),然后顯示此期刊的詳細(xì)投稿情況,包括是否為核心期刊、作者名、投稿日期、審稿結(jié)果和文章名稱。(說(shuō)明:“是否為核心期刊”一項(xiàng)填寫(xiě)要求:如果是核心就寫(xiě)“是”,否則就寫(xiě)“否”。注意:報(bào)表的顯示格式。)提示:有關(guān)游標(biāo)的語(yǔ)句格式如下:
? 聲明游標(biāo):declare 游標(biāo)名 cursor for select 語(yǔ)句 ? 打開(kāi)游標(biāo):open 游標(biāo)名 ? 關(guān)閉游標(biāo):close游標(biāo)名
? 提取數(shù)據(jù):fetch next from 游標(biāo)名 into?? ? 釋放游標(biāo):deallocate 游標(biāo)名 ? 全局變量:@@fetch_status 報(bào)表形式大致如下:(下表只列出了部分?jǐn)?shù)據(jù))
期刊名稱:計(jì)算機(jī)應(yīng)用研究
是否為核心期刊
作者姓名
投稿日期
審稿結(jié)果
文章名稱
是
陳毅華
2007年6 月3 日
通過(guò)
信息安全的第二道防線——入侵檢測(cè)系統(tǒng)
是
楊曉光
2008年6 月9 日
通過(guò)
一種基于移動(dòng)agent技術(shù)的分布式數(shù)據(jù)檢索系統(tǒng)的實(shí)現(xiàn)
是
楊伍華
2007年8 月29日
通過(guò)
無(wú)線傳感器網(wǎng)絡(luò)的研究
是
楊伍華
2008年2 月1 日
通過(guò)
基于Web的考試系統(tǒng)新方案
是
陳曉立
2006年3 月9 日
通過(guò)
基于J2EE的分布式事務(wù)研究
是
田令洋
2006年1 月26日
通過(guò)
個(gè)性化協(xié)同學(xué)習(xí)環(huán)境本體的研究
期刊名稱:交通與計(jì)算機(jī)
是否為核心期刊
作者姓名
投稿日期
審稿結(jié)果
文章名稱
是
田令洋
2007年4 月8 日
未通過(guò)
CORBA和Java的結(jié)合使用
是
田令洋
2008年1 月3 日
未通過(guò)
高速公路通信系統(tǒng)的整合利用初探
??
是
楊曉光
2006年3 月1 日
未通過(guò)
基于VC與Ansys的參數(shù)化有限元分析
第五篇:教學(xué)管理系統(tǒng)SQL練習(xí)答案
現(xiàn)在有一教學(xué)管理系統(tǒng),具體的關(guān)系模式如下:
Student(no, name, sex, birthday, class)Teacher(no, name, sex, birthday, prof, depart)Course(cno, cname, tno)Score(no, cno, degree)其中表中包含如下數(shù)據(jù): Course表:
Score表:
Student表:
Teacher表:
根據(jù)上面描述完成下面問(wèn)題:
(注意:注意保存腳本,尤其是DDL和DML,以便進(jìn)行數(shù)據(jù)還原)DDL 1.寫(xiě)出上述表的建表語(yǔ)句。
命te,classint);
令:createtableStudent(noint,namevarchar(14),sexvarchar(2),birthdaydacreatetableTeacher(noint,namevarchar(14),sexvarchar(2),birthdaydate,profvarchar(10),departvarchar(10));createtableCourse(cnovarchar(8),cnamevarchar(14),tnoint);createtableScore(noint,cnovarchar(8),degreeint);
DML 2.給出相應(yīng)的INSERT語(yǔ)句來(lái)完成題中給出數(shù)據(jù)的插入。
命令:
insertintoStudentvalues(5001,'李勇','男','1987-7-22',95001);insertintoStudentvalues(5002,'劉晨','女','1987-11-15',95002);insertintoStudentvalues(5003,'王敏','女','1987-10-5',95001);insertintoStudentvalues(5004,'李好尚','男','1987-9-25',95003);insertintoStudentvalues(5005,'李軍','男','1987-7-17',95004);insertintoStudentvalues(5006,'范新位','女','1987-6-18',95005);insertintoStudentvalues(5007,'張霞東','女','1987-8-29',95006);insertintoStudentvalues(5008,'趙薇','男','1987-6-15',95007);insertintoStudentvalues(5009,'錢民將','女','1987-6-23',95008);insertintoStudentvalues(5010,'孫儷','女','1987-9-24',95002);insertintoStudentvalues(108,'趙里','男','1987-6-15',95007);insertintoStudentvalues(109,'丘處機(jī)','男','1987-6-23',95008);insertintoStudentvalues(107,'楊康','男','1987-9-24',95001);
insertintoTeachervalues(1,'李衛(wèi)','男','1957-11-5','教授','電子工程系');insertintoTeachervalues(2,'劉備','男','1967-10-9','副教授','math');insertintoTeachervalues(3,'關(guān)羽','男','1977-9-20','講師','sc');insertintoTeachervalues(4,'李修','男','1957-6-25','教授','elec');insertintoTeachervalues(5,'諸葛亮','男','1977-6-15','教授','計(jì)算機(jī)系');insertintoTeachervalues(6,'殷素素','女','1967-1-5','副教授','sc');insertintoTeachervalues(7,'周芷若','女','1947-2-23','教授','sc');insertintoTeachervalues(8,'趙云','男','1980-6-13','副教授','計(jì)算機(jī)系');insertintoTeachervalues(9,'張敏','女','1985-5-5','助教','sc');insertintoTeachervalues(10,'黃蓉','女','1967-3-22','副教授','sc');insertintoTeachervalues(11,'張三','男','1967-3-22','副教授','sc');
insertintoCoursevalues('3-101','數(shù)據(jù)庫(kù)',1);insertintoCoursevalues('5-102','數(shù)學(xué)',2);insertintoCoursevalues('3-103','信息系統(tǒng)',3);insertintoCoursevalues('3-104','操作系統(tǒng)',4);insertintoCoursevalues('3-105','數(shù)據(jù)結(jié)構(gòu)',5);insertintoCoursevalues('3-106','數(shù)據(jù)處理',5);insertintoCoursevalues('4-107','pascal語(yǔ)言',6);insertintoCoursevalues('4-108','C++',7);insertintoCoursevalues('4-109','java',8);insertintoCoursevalues('3-245','數(shù)據(jù)挖掘',10);insertintoCoursevalues('3-111','軟件工程',11);insertintoScorevalues(5001,'3-105',69);insertintoScorevalues(5001,'5-102',55);insertintoScorevalues(5003,'4-108',85);insertintoScorevalues(5004,'3-105',77);insertintoScorevalues(5005,'3-245',100);insertintoScorevalues(5006,'3-105',53);insertintoScorevalues(5003,'4-109',45);insertintoScorevalues(5008,'3-105',98);insertintoScorevalues(5004,'4-109',68);insertintoScorevalues(5010,'3-105',88);insertintoScorevalues(5003,'3-105',98);insertintoScorevalues(5005,'4-109',68);insertintoScorevalues(5002,'3-105',88);insertintoScorevalues(107,'3-105',98);insertintoScorevalues(108,'4-109',68);insertintoScorevalues(109,'3-105',88);insertintoScorevalues(109,'4-109',80);insertintoScorevalues(107,'3-111',88);insertintoScorevalues(5003,'3-111',80);
單表查詢
3.以class降序輸出student的所有記錄(student表全部屬性)
命令:select*fromStudentorderbyclassdesc;
4.列出教師所在的單位depart(不重復(fù))。
命令:selectdistinctdepartfromTeacher;
5.列出student表中所有記錄的name、sex和class列
命令:selectname,sex,classfromStudent;
6.輸出student中不姓王的同學(xué)的姓名。
命或
令:selectnamefromStudentexceptselectnamefromStudentwherenamelike'王%';selectnamefromStudentwherenamenotlike'王%';
7.輸出成績(jī)?yōu)?5或86或88或在60-80之間的記錄(no,cno,degree)
命令:selectno,cno,DEGREEfromScorewheredegree=85 ordegree=86 ordegree=88 ordegreebetween 60 and 80;
8.輸出班級(jí)為95001或性別為‘女’的同學(xué)(student表全部屬性)
命令:select*fromStudentwhereclass=95001 orsex='女';
9.以cno升序、degree降序輸出score的所有記錄。(score表全部屬性)
命令:select*fromScoreorderbycnoasc,degreedesc;
10.輸出男生人數(shù)及這些男生分布在多少個(gè)班級(jí)中
命令:selectCOUNT(*),count(distinctclass)fromStudentwheresex='男';
11.列出存在有85分以上成績(jī)的課程編號(hào)。
命令:selectdistinctcnofromScorewheredegree>85;
12.輸出95001班級(jí)的學(xué)生人數(shù)
命令:selectCOUNT(*)fromStudentwhereclass=95001;
13.輸出‘3-105’號(hào)課程的平均分
命令:selectavg(cast(degreeasfloat))fromScorewherecno='3-105';
14.輸出student中最大和最小的birthday日期值
命令:selectMAX(birthday),MIN(birthday)fromStudent;
15.顯示95001和95004班全體學(xué)生的全部個(gè)人信息(不包括選課)。(student表全部屬性)
命令:select*fromStudentwhereclass=95001 orclass=95004;