數(shù)據(jù)庫(kù)表的查詢操作實(shí)踐演練(實(shí)驗(yàn)三)
繼前兩次的實(shí)驗(yàn),本次實(shí)驗(yàn)以熟練掌握利用select語(yǔ)句進(jìn)行各種查詢操作:?jiǎn)伪聿樵儭⒍啾磉B接及查詢、嵌套查詢、集合查詢等,鞏固數(shù)據(jù)庫(kù)查詢操作。
下面就跟著小編一起練習(xí)吧!
在實(shí)驗(yàn)一創(chuàng)建并插入數(shù)據(jù)的表(Student, Course,SC,Teacher,TC)的基礎(chǔ)上,完成以下操作。
(1)將教師‘羅莉'的名字改為‘羅莉莉'。
(2)將兩個(gè)同學(xué)(數(shù)據(jù)自己臨時(shí)設(shè)置,用后即刪除)的兩門(mén)課程的成績(jī)以運(yùn)行sql程序文件的形式插入score表中。該題用以驗(yàn)證、理解和掌握關(guān)系模型的完整性規(guī)則;
插入:
insert into Score(sno,cno,grade) values('04261007','C004','79')
查詢:
刪除:
(3)求每門(mén)課的平均成績(jī),并把結(jié)果存入average表(自行設(shè)計(jì)并創(chuàng)建);
(
cno CHAR(8),
avscore numeric(5,2),
constraint a1 primary key (cno),
constraint a2 foreign key (cno) references Course(cno),
)
insert into average(cno,avscore)
select distinct cno ,avg(grade) from Score group by cno
(4)將學(xué)生“馬麗”的年齡改為24;
(5)將所有學(xué)生的szipcode屬性列值填補(bǔ)上;
(6)將average表中的所有課程的平均成績(jī)置零;
(7)刪除average表中的課程號(hào)為‘C007'的平均成績(jī)記錄;
(8)刪除所有average表中平均成績(jī)記錄;
(9)建立一個(gè)臨時(shí)學(xué)生信息表(tstudent),刪除該表中的學(xué)號(hào)含‘101'的所有學(xué)生記錄。
Delete from tstudent where Sno like '001011%';
(10)查詢?nèi)w學(xué)生的學(xué)號(hào)與姓名;
(11)查詢?nèi)w學(xué)生的學(xué)號(hào)、姓名、所屬系;
(12)查詢?nèi)w學(xué)生的詳細(xì)記錄;
(13)查詢?nèi)w學(xué)生的姓名及其年齡;
(14)查詢?nèi)w學(xué)生的姓名、出生年份;
(15)查詢所有修過(guò)課的學(xué)生的學(xué)號(hào);
select distinct student.sno from Student,Score where Student.sno=Score.sno and Score.grade>0 ;
(16)查詢“計(jì)算機(jī)系”班全體學(xué)生名單;
(17)查詢查詢所有年齡在23歲以下的學(xué)生姓名及其年齡;
(18)查詢考試成績(jī)有不及格的學(xué)生的學(xué)號(hào);
(19)查詢年齡在20至22歲之間的學(xué)生姓名、系和年齡;
(20)查詢年齡不在20至22歲之間的學(xué)生姓名、系和年齡;
(21)查詢“計(jì)算機(jī)系”和“電商系”的學(xué)生的姓名;
(22)查詢既不是“計(jì)11”也不是“計(jì)61”班的學(xué)生的姓名和班級(jí)信息;
(23)查詢學(xué)號(hào)為“04262002”的學(xué)生的詳細(xì)情況;
[code]select student.sno,sname,ssex,2014-year(sbirth),sclass,grade from Student,Score where Student.sno=Score.sno and Student.sno='04262002';
(24)查詢學(xué)號(hào)以“04262”打頭的學(xué)生信息;
(25)查詢所有姓“張”學(xué)生的學(xué)號(hào)、姓名、性別、年齡;
(26)查詢名字中第二個(gè)字有“?!弊值膶W(xué)生的學(xué)號(hào)、姓名、性別、年齡;
(27)查詢所有不姓“劉”學(xué)生的姓名;
(28)查詢課程號(hào)以“C”開(kāi)頭的最后兩個(gè)字母為“05”的課程號(hào)和課程名;
(29)某些學(xué)生選修某門(mén)課程后沒(méi)有參加考試,所以有選修課記錄,但沒(méi)有考試成績(jī),試查找缺少考試成績(jī)的學(xué)生和相應(yīng)的課程號(hào);
(30)查找全部有成績(jī)記錄的學(xué)生學(xué)號(hào)、課程號(hào);
(31)查找“計(jì)算機(jī)系”年齡在22歲以下的學(xué)生學(xué)號(hào)、姓名;
(32)查找選修了“C001”號(hào)課程的學(xué)生學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)降序排序;
(33)查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系升序排列,對(duì)同一系中的學(xué)生按年齡降序排列;
(34)查詢學(xué)生總?cè)藬?shù);
(35)查詢選修了課程的學(xué)生人數(shù);
(36)在所有課程中查詢最高分的學(xué)生學(xué)號(hào)和成績(jī);
(37)查詢學(xué)習(xí)“C001”課程的學(xué)生最高分?jǐn)?shù);
(38)計(jì)算各個(gè)課程號(hào)與相應(yīng)的選課人數(shù);
(39)查詢“計(jì)算機(jī)系”選修了兩門(mén)課程以上的學(xué)生學(xué)號(hào)、姓名;
(select Student.sno from Student,Score where
sdept='計(jì)算機(jī)系'and Student.sno=Score.sno group by Student.sno having count(cno)>=2);
(40)自然連接student和score表;
(41)使用自身連接查詢每一門(mén)課程的間接先行課(即先行課的先行課)
(42)使用復(fù)合條件連接查詢選修“c001”號(hào)課程且成績(jī)?cè)?0分以上的所有同學(xué);
(43)使用復(fù)合條件連接查詢每個(gè)學(xué)生選修的課程名及其成績(jī);
(44)查詢選修了全部課程的學(xué)生;
(45)查詢所有選修了C001號(hào)課程的學(xué)生學(xué)號(hào)、姓名;
(46)查詢選修了課程C001或C007的學(xué)生學(xué)號(hào)、姓名;
[code]select student.sno,sname,cno from student,Score where student.sno=Score.sno and cno in ('C001','C007');
(47)查詢“計(jì)算機(jī)系”的學(xué)生及年齡不大于23歲的學(xué)生;
(48)查詢既選修了課程C001又選修了課程C007的所有學(xué)生學(xué)號(hào)、姓名;
(49)查詢選修了課程名為“數(shù)據(jù)庫(kù)原理”的學(xué)生的學(xué)號(hào)、姓名、性別、年齡;
(50)查詢其他班中比“計(jì)算機(jī)系”所有學(xué)生年齡都小的學(xué)生名單;
(51)查詢與“夏天”在同一個(gè)系學(xué)習(xí)的學(xué)生學(xué)號(hào)、姓名、性別、年齡;
(52)建立“計(jì)算機(jī)系”學(xué)生的視圖1;
as select sno,sname,ssex,sbirth,sclass from student where sclass='13z網(wǎng)絡(luò)'
(53)建立“計(jì)算機(jī)系”學(xué)生的視圖2,并要求進(jìn)行修改與插入時(shí),仍須保證該視圖只有“計(jì)算機(jī)系”班學(xué)生;
as select sno,sname,ssex,sbirth,sclass from student where sclass='13z網(wǎng)絡(luò)' with check option;
(54)建立“計(jì)算機(jī)系”選修了“C001”課程的學(xué)生的視圖,定義視圖名為“v_cs_C001_student1”;
as select student.sno,sname,ssex,sbirth,sclass from Student ,Score where
student.sno=Score.sno and sclass='13z網(wǎng)絡(luò)' and cno='C001';
(55)建立“計(jì)算機(jī)系”班選修了“C001”課程且成績(jī)?cè)?0分以上的學(xué)生的視圖,定義視圖名為“cs_c001_student2”;
as
select student.sno,sname ,ssex,sbirth,sclass,cno from student,Score where
student.sno=Score.sno and cno='C001' and sclass='13z網(wǎng)絡(luò)'and student.sno in (select student.sno from student,Score where student.sno=Score.sno and grade>90)
(56)定義一個(gè)反映學(xué)生年齡的視圖,定義視圖名為“v_birth_student”;
as
select sno,sname,2014-year(sbirth) age from student
(57)將學(xué)生表中所有女生記錄定義為一個(gè)視圖,視圖名為“v_female_student”;
as
select * from student where ssex='女';
(58)將學(xué)生的學(xué)號(hào)及其平均成績(jī)定義為一個(gè)視圖,視圖名為“v_average_student”;
as
select sno,avg(grade) avscore from Score group by sno;
(59)在“計(jì)算機(jī)系”學(xué)生視圖中找出年齡小于22歲的學(xué)生;
(60)利用視圖查詢“計(jì)算機(jī)系”選修了“C001”課程的學(xué)生;
(61)通過(guò)(52)中的“計(jì)算機(jī)系”視圖修改某個(gè)學(xué)生的名字;
(62)通過(guò)(53)中的“計(jì)算機(jī)系”視圖,插入一個(gè)新學(xué)生記錄。
(63)通過(guò)(53)中的“計(jì)算機(jī)系”視圖,刪除一個(gè)學(xué)生記錄。
實(shí)驗(yàn)課結(jié)束了,相信通過(guò)本節(jié)課的實(shí)踐操作,小伙伴們都對(duì)數(shù)據(jù)庫(kù)表的操作有了更進(jìn)一步的了解。
以上就是查詢數(shù)據(jù)庫(kù)表的基本操作,幾乎涵蓋了各種查詢操作所遇到的情況,值得大家親自操作一下,相信對(duì)大家的學(xué)習(xí)有所幫助。
- MySQL學(xué)習(xí)筆記3:表的基本操作介紹
- 單個(gè)select語(yǔ)句實(shí)現(xiàn)MySQL查詢統(tǒng)計(jì)次數(shù)
- sql查詢出各科成績(jī)最好的學(xué)生信息
- mysql查詢昨天 一周前 一月前 一年前的數(shù)據(jù)
- mysql查詢今天、昨天、近7天、近30天、本月、上一月的SQL語(yǔ)句
- MySql查詢時(shí)間段的方法
- MySQL查詢和修改auto_increment的方法
- 一個(gè)優(yōu)化MySQL查詢操作的具體案例分析
- MySQL查詢倒數(shù)第二條記錄實(shí)現(xiàn)方法
- 50條SQL查詢技巧、查詢語(yǔ)句示例
- SQL查詢出表、存儲(chǔ)過(guò)程、觸發(fā)器的創(chuàng)建時(shí)間和最后修改時(shí)間示例
- 大幅優(yōu)化MySQL查詢性能的奇技淫巧
- SQL大量數(shù)據(jù)查詢的優(yōu)化及非用like不可時(shí)的處理方案
- 如何使用MySQL查詢某個(gè)列中相同值的數(shù)量統(tǒng)計(jì)
- SQL如何實(shí)現(xiàn)MYSQL的遞歸查詢
- 數(shù)據(jù)庫(kù)表的創(chuàng)建、管理和數(shù)據(jù)操作(實(shí)驗(yàn)一)
- 數(shù)據(jù)庫(kù)表的查詢操作(實(shí)驗(yàn)二)
相關(guān)文章
世界杯猜想活動(dòng)的各類榜單的SQL語(yǔ)句小結(jié)
自己網(wǎng)站的世界杯猜想活動(dòng),整理了幾個(gè)排行榜。寫(xiě)了半個(gè)小時(shí)的SQL,丟了多可惜,放在這里,反正是別人的地盤(pán),不心疼。2010-07-07sqlserver 2000 遠(yuǎn)程連接 服務(wù)器的解決方案
在連接本地服務(wù)器時(shí),通常使用的是命名管道協(xié)議(在服務(wù)器網(wǎng)絡(luò)實(shí)用工具里可以看到啟用的協(xié)議有這個(gè)2009-06-06SQL Server兩種分頁(yè)的存儲(chǔ)過(guò)程使用介紹
這篇文章主要介紹了SQL Server兩種分頁(yè)的存儲(chǔ)過(guò)程的使用,需要的朋友可以學(xué)習(xí)下2014-07-07針對(duì)SQL 2000 的分頁(yè)存儲(chǔ)過(guò)程代碼分享
針對(duì)SQL 2000 的分頁(yè)存儲(chǔ)過(guò)程,有詳細(xì)參數(shù)說(shuō)明2011-07-07SQL Server簡(jiǎn)單實(shí)現(xiàn)數(shù)據(jù)的日?qǐng)?bào)和月報(bào)功能
這篇文章主要介紹了SQL Server簡(jiǎn)單實(shí)現(xiàn)數(shù)據(jù)的日?qǐng)?bào)和月報(bào)功能,結(jié)合實(shí)例形式對(duì)比分析了SQL Server實(shí)現(xiàn)當(dāng)日及當(dāng)月數(shù)據(jù)的查詢功能相關(guān)技巧,需要的朋友可以參考下2016-06-06SQL Server誤區(qū)30日談 第13天 在SQL Server 2000兼容模式下不能使用DMV
對(duì)于兼容模式已經(jīng)存在了很多誤解。80的兼容模式的數(shù)據(jù)庫(kù)是否意味著能夠附加或恢復(fù)到SQL Server 2000數(shù)據(jù)庫(kù)?當(dāng)然不是2013-01-01Sql注入工具_(dá)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Sql注入工具的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08