數據庫作業四


1.查詢SC(學生選課表)中的全部數據。

select * from sc

2.查詢計算機系學生的姓名和年齡。

select sname, sage from student where sdept = '計算機系'

3.查詢成績在7080分的學生的學號、課程號和成績。

select sno, cno,grade from sc where grade between 70 and 80

4.查詢計算機系年齡在1820之間並且性別為男”的學生的姓名和年齡。

select sname, sage from student

where sdept = '計算機系' and sage between 18 and 20

5.查詢課程號為“c001”的課程的最高的分數。。

select max( grade) from sc where cno = 'c001'

6.查詢計算機系學生的最大年齡和最小年齡。

select max(sage)最大年齡,min (sage)最小年齡from student

where sdept=’計算機系’

7.統計每個系的學生人數。

select sdept, count (*)人數from student 

Group by sdept

8.統計每門課程的選課人數和考試最高分。

select cno, count(*)選課人數,max (grade)最高分from sc 

Group by cno

9.統計每個學生的選課門數和考試總成績,並按選課門數升序顯示結果。

select sno, count (*)選課門數,sum (grade) from sc

Group by sno order by count(*) asc

10.查詢總成績超過200分的學生,要求列出學號、總成績。

select sno, sum (grade)總成績from sc

Group by sno having sum (grade) >200

11.查詢選修“C02”號課程的學生的姓名和所在系。

select sname, sdept from student s join sc on s.sno=sc.sno

where cno = 'c02'

12.查詢成績80分以上的學生的姓名、課程號和成績,並按成績降序排列結果。

select sname , cno ,grade

From student s join sc on s.sno = sc.sno

where grade > 80

order by grade desc

13.查詢哪些學生沒有選修,要求列出學號、姓名和所在系。

select c.cno, cname sdept from course c left join sc on c.cno = sc.cno

where sc.cno is null

14.查詢與Java在同一學期開設的課程的課程名和開課學期。

select c1.cname,c1.s emester from course cl

join course c2 on c1.semester = c2.semester

where c2.cname = 'Java' and cl.cn ame != 'Java'

15.查詢與李勇年齡相同的學生的姓名、所在系和年齡。

select sl.sname,s1.sdept,s1.sage from student s1

join student s2 on s1.sage = s2.sage

where s2.sname ='李勇’ and s1.sname !='李勇'

16.用子查詢實現如下查詢:

(1)查詢選修了“C001”號課程的學生的姓名和所在系。

select sname, sdept from student

Where sno in (select sno from sc where cno = 'co01)

(2)查詢數學系成績80分以上的學生的學號、姓名、課程號和成績。

Select sno, sname , cno, grade from student s

Join sc on s.sno = sc.sno

where sdept =數學系' and sno in (select sno from sc where grade > 80)

( 3)查詢計算機系考試成績最高的學生的姓名。

select sname from student s join sc on s.sno = sc.snowhere sdept ='計算機系’ and grade = (

Select max (grade) from sc join student s on s.sno=sc.sno

where sdept ='計算機系')

(4)查詢數據結構考試成績最高的學生的姓名、所在系、性別和成績。

select sname , sdept ,ssex, grade from student s

Join sc on s.sno = sc.sno

Join course c on c.cno = sc.cnowhere cname ='數據結構'

And grade in (

Select max (grade) from sc join course c on c.cno=sc.cno

whe re cn ame =數據結構’)

  1. 查詢沒有選修Java課程的學生的姓名和所在系。

select sname, sdept from student

where sno not in (

select sno from sc join course c on c.cno = sc.cno

whe reenameAJavaoOCIn.com

18.查詢計算機系沒有選課的學生的姓名和性別。

select sname, ssex from student

where sdept ='計算機系'

And sno not in (

select sno from sc )

19.創建一個新表,表名為test_t,其結構為(COL1COL2COL 3),其中,

COL1:整型,允許空值。

COL2:字符型,長度為10,不允許空值。

COL3:字符型,長度為10,允許空值。

試寫出按行插入如下數據的語句(空白處表示空值)

COL1

COL2

COL3

 

B1

 

1

B2

C2

2

B3

 

 

Create table test_t (cOL1 int,

CoL2 char (10) not nullcoL3 char (10) )

Insert into test_t (COL2) values (' B1')

Insert into test_t (COL1 ,COL2) values (1 ,'B2)

Insert into test_t values ( 2,'B3,NULL)

20.刪除考試成績低於50分的學生的選課記錄。

Delete from sc where grade < 50

21.刪除沒人選的課程的基本信息。

Delete from course where cno not in (select cno from course)

22.刪除計算機系Java成績不及格學生的Java選課記錄。

Delete from sc

From sc join student s on s.sno = sc.snoJoin course c on c.cno = sc.cno

where cname = 'Java' and grade < 60and sdept ='計算機系'

23.將第2學期開設的所有課程的學分增加2分。

Update Course set credit = credit +2

where semester = 2

24.Java課程的學分改為3分。

Update course set credit = 3where cname = 'Java'

25.將計算機系學生的年齡增加1歲。

Update student set sage = sage + 1where sdept ='計算機系'

26.將信息系學生的“計算機文化學”課程的考試成績加5分。

Update sc set grade = grade + 5

From student s join sc on s.sno =sc.snoJoin course c on c.cno = sc.cno

where sdept ='信息系’ and cname ='計算機文化學

27.查詢每個系年齡大於等於20的學生人數,並將結果保存到一個新永久表Dept_Age 中。select sdept, count (*)人數into Dept_Age from student

where sage >=20

Group by sdept

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM