日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

05_oracel题集

發布時間:2023/12/13 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 05_oracel题集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、已建立兩張學生基本信息表,表的結構如下

Test

No Name Sex Age Department Place
2002001 張三 20 計算機系 北京
2002002 李四 20 數學系 山東
2002003 王五 21 計算機系 北京
2002004 小紅 21 數學系 河北
2002005 小李 20 數學系 遼寧
2002006 小王 22 計算機系 浙江

Test1

No Grade Courses
2002001 87 英語
2002002 81 數學
2002003 75 操作系統
2002004 91 網絡
2002005 70 數據庫
2002006 85 C語言

1、 找出是計算機系并籍貫是北京的學生的所有記錄

2、 把計算機系的學生的Department改為信息學院

3、 連接查詢找出成績大于等于75分的學生的NO,Nname,Grade,Courses字段的記錄

1.select t.*,t1.grade,t1.course from test t,test1 t1 where t.no=t1.no and t.department='計算機系' and t.place='北京';

2.update test set department='信息學院' where department='計算機系';

3.select t.no,t.name,t1.grade,t1.courses from test t,test1 t1 where t.no=t1.no and t1.grade>75;

2、表的結構如下

Student(s#,sname,sage,ssex)學生表

Course(c#,cname,t#)課程表

Sc(s#,c#,score)成績表

Teacher(t#,tname)教師表

查詢成績小于60分的學生姓名和課程名

查詢平均成績并排序

查詢學過“李華”老師所教的所有課程的同學的學號和姓名

修改“王小二”學生的“歷史”課成績,修改為85

刪除成績表

1.select s.sname, c.cname from student s,course c,sc where s.s#=sc.s# and c.c#=sc.c# and sc.score<60;

2.select avg(score) avgscore from sc group by s# order by avgscore;

select s.s#,s.sname from student s,

(select s.s#,count(sc.c#) count2 from student s,sc,

(select c.c# c1,count(c.c#) count1 from course c,teacher t

where c.c#=t.t# and t.tname='李華' --1--李華老師教的課程) a1

where s.s#=sc.s# and sc.c#=a1.c1 and count1=count2 --2) a2

where s.s#=a2.s#; --3

4.update 表名 set 列=值 where 條件

update sc set score=85 where s#=(select s# from student where sname='王小二')

and c#=(select c# from course where cname='歷史')

5.drop table sc

3、表的結構如下

S(sno,sname) 學生關系。Sno為學號,sname為姓名

C(cno,cname,cteacher)課程關系。Cno為課程號,cname為課程名,cteacher為任課老師

Sc(sno,cno,scgrade)選課關系,scgrade為成績

(1) 找出沒有選修過“李明”老師講授課程的所有學生姓名

select s.sname from s,c,sc where s.sno=sc.sno and c.cno=sc.cno and c.cteacher !='李明';

(2) 列出有二門以上(含兩門)不及格課程的學生姓名及其平均成績

select s.sname ,a1.avggrade from s,

(select sno,avg(scgrade) avggrade from sc where scgrade<60 group by sno having count(*)>=2) a1

where s.sno=a1.sno;

(3) 列出既學過“1”號課程,又學過“2”號課程的所有學生姓名

select sname from s where sno in(

select sno from sc where cno=1

intersect

select sno from sc where cno=2);

3、在學生選課系統的后臺數據庫中,主要有3個表:

學生基本信息表stdinfo(學號SN,姓名Name,性別Sex,專業Speciality,出生年月Bady),

選課表Mycourse(學號SN、課程號CourseNum、分數Credithour),

課程表Coursetab(課程號CourseNum,課程名Coursename,所屬專業Speciality, 分數Credithour)

要求:寫出SQL語句。

1) 查詢所有SQL課程的學生學號,姓名和專業。

2) 查詢所有選計算機這門課程的學生學號,姓名和專業,并按照學號降序排序

3) 刪除所有選擇數學的同學的選課記錄

4) 查詢有哪些課程有30個以上的同學報選

5) 查詢有哪些課程沒有被任何同學報選

1.select s.sn,s.name,c.speciality from stdinfo s,coursetab c where s.specaility=c.specaility and c.courename='SQL';

2.select s.sn,s.name,c.speciality from stdinfo s,coursetab c where s.specaility=c.specaility and c.courename='計算機' order by s.sn desc;

3.delete from mycourse where courseNum=(select coursenum from coursetab where coursename='數學')

4.select coursename from coursetab where coursenum in (select coursenum from mycourse group by coursenum having count(*)>30);

select coursename from coursetab where coursenum in

(select coursenum from coursetab

except

select distinct coursenum from mycourse)

4、以下有兩個表

表一 AAA

Mc種類 S1庫存總量
A 997
B 1234

表二 BBB

Mc種類 S1出庫數量
A 105
A 213
B 116
B 211
B 303

1) 分別寫出AAA的建表語句;

2) 用一條SQL語句求出A出庫的數量是多少?

3) 用一條SQL語句求出A,B各剩下多少?

2.select sum(s1出庫數量) from bbb where mc種類='A'

select a1.s1庫存總量-a2.outs1 from aaa a1,( select mc種類,sum(s1出庫數量) outs1 from bb group by mc種類) a2 where a1.mc種類=a2.mc種類

5、表結構如下:

學生表:Student(S#,Sname,Sage,Ssex) ,學號:S#,學生姓名:Sname,學生年齡:Sage,學生性別:Ssex

課程表:Course(C#,Cname,T#),課程編號:C#,課程名字:Cname,教師編號:T#

成績表:SC(S#,C#,score), 學號:S#,課程編號:C#,成績:score

教師表:Teacher(T#,Tname),教師編號:T#,教師名字:Tname

問題:

1、查詢"001"課程比"002"課程成績高的所有學生的學號;

select a1.s# from

(select s#,score from sc where c#=001) a1,

(select s#,score from sc where c#=002) a2

where a1.s#=a2.s# and a1.score>a2.score;

2、刪除學習“葉平”老師課的SC表記錄;

delete from sc where c# in(select t.c# from course c1, teacher t where c1.t#=t.t# and t.tname='葉平')

3、向SC表插入一筆數據(S#:200806505; C#:201101, score:85);

insert into sc values(20080605,201101,85);

4、把"SC"表中“葉平”老師教的課的成績都更改為此課程的平均成績。

update sc set score=(select avg(score) from sc where c# =(select t.c# from course c1, teacher t where c1.t#=t.t# and t.tname='葉平'))

where c# =(select t.c# from course c1, teacher t where c1.t#=t.t# and t.tname='葉平'))

總結

以上是生活随笔為你收集整理的05_oracel题集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。