1.查詢SC表(學生選課表)中的全部數據。
select * from sc
2.查詢計算機系學生的姓名和年齡。
select sname, sage from student where sdept = '計算機系'
3.查詢成績在70~80分的學生的學號、課程號和成績。
select sno, cno,grade from sc where grade between 70 and 80
4.查詢計算機系年齡在18~20歲之間並且性別為“男”的學生的姓名和年齡。
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 =數據結構’)
- 查詢沒有選修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,其結構為(COL1,COL2,COL 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 null,coL3 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