SQL語句的增練習案例
create table student(
sno varchar2(10) primary key,
sname varchar2(20),
sage number(2),
ssex varchar2(5)
);
create table teacher(
tno varchar2(10) primary key,
tname varchar2(20)
);
create table course(
cno varchar2(10),
cname varchar2(20),
tno varchar2(20),
constraint pk_course primary key (cno,tno)
);
create table sc(
sno varchar2(10),
cno varchar2(10),
score number(4,2),
constraint pk_sc primary key (sno,cno)
);
/*******初始化學生表的數據******/
insert into student values (‘s001‘,‘張三‘,23,‘男‘);
insert into student values (‘s002‘,‘李四‘,23,‘男‘);
insert into student values (‘s003‘,‘吳鵬‘,25,‘男‘);
insert into student values (‘s004‘,‘琴沁
insert into student values (‘s005‘,‘王麗‘,20,‘女‘);
insert into student values (‘s006‘,‘李波‘,21,‘男‘);
insert into student values (‘s007‘,‘劉玉‘,21,‘男‘);
insert into student values (‘s008‘,‘蕭蓉‘,21,‘女‘);
insert into student values (‘s009‘,‘陳蕭曉‘,23,‘女‘);
insert into student values (‘s010‘,‘陳美‘,22,‘女‘);
commit;
/******************初始化教師表***********************/
insert into teacher values (‘t001‘, ‘劉陽‘);
insert into teacher values (‘t002‘, ‘諶燕‘);
insert into teacher values (‘t003‘, ‘胡明星‘);
commit;
/***************初始化課程表****************************/
insert into course values (‘c001‘,‘J2SE‘,‘t002‘);
insert into course values (‘c002‘,‘Java Web‘,‘t002‘);
insert into course values (‘c003‘,‘SSH‘,‘t001‘);
insert into course values (‘c004‘,‘Oracle‘,‘t001‘);
insert into course values (‘c005‘,‘SQL SERVER 2005‘,‘t003‘);
insert into course values (‘c006‘,‘C#‘,‘t003‘);
insert into course values (‘c007‘,‘JavaScript‘,‘t002‘);
insert into course values (‘c008‘,‘DIV+CSS‘,‘t001‘);
insert into course values (‘c009‘,‘PHP‘,‘t003‘);
insert into course values (‘c010‘,‘EJB3.0‘,‘t002‘);
commit;
/***************初始化成績表***********************/
insert into sc values (‘s001‘,‘c001‘,78.9);
insert into sc values (‘s002‘,‘c001‘,80.9);
insert into sc values (‘s003‘,‘c001‘,81.9);
insert into sc values (‘s004‘,‘c001‘,60.9);
insert into sc values (‘s001‘,‘c002‘,82.9);
insert into sc values (‘s002‘,‘c002‘,72.9);
insert into sc values (‘s003‘,‘c002‘,81.9);
insert into sc values (‘s001‘,‘c003‘,‘59‘);
commit;
練習:
註意:以下練習中的數據是根據初始化到數據庫中的數據來寫的SQL 語句,請大家務必註意。
1、查詢“c001”課程比“c002”課程成績高的所有學生的學號;
2、查詢平均成績大於60 分的同學的學號和平均成績;
3、查詢所有同學的學號、姓名、選課數、總成績;
4、查詢姓“劉”的老師的個數;
5、查詢沒學過“諶燕”老師課的同學的學號、姓名;
6、查詢學過“c001”並且也學過編號“c002”課程的同學的學號、姓名;
7、查詢學過“諶燕”老師所教的所有課的同學的學號、姓名;
8、查詢課程編號“c002”的成績比課程編號“c001”課程低的所有同學的學號、姓名;
9、查詢所有課程成績小於60 分的同學的學號、姓名;
10、查詢沒有學全所有課的同學的學號、姓名;
11、查詢至少有一門課與學號為“s001”的同學所學相同的同學的學號和姓名;
12、查詢至少學過學號為“s001”同學所有一門課的其他同學學號和姓名;
13、把“SC”表中“諶燕”老師教的課的成績都更改為此課程的平均成績;
14、查詢和“s001”號的同學學習的課程完全相同的其他同學學號和姓名;
15、刪除學習“諶燕”老師課的SC 表記錄;
16、向SC 表中插入一些記錄,這些記錄要求符合以下條件:沒有上過編號“c002”課程的同學學號、“c002”號課的平均成績;
17、查詢各科成績最高和最低的分:以如下形式顯示:課程ID,最高分,最低分
18、按各科平均成績從低到高和及格率的百分數從高到低順序
19、查詢不同老師所教不同課程平均分從高到低顯示
20、統計列印各科成績,各分數段人數:課程ID,課程名稱,[100-85],[85-70],[70-60],[ <60]
21、查詢各科成績前三名的記錄:(不考慮成績並列情況)
22、查詢每門課程被選修的學生數
23、查詢出只選修了一門課程的全部學生的學號和姓名
24、查詢男生、女生人數
25、查詢姓“張”的學生名單
26、查詢同名同性學生名單,並統計同名人數
27、1981 年出生的學生名單(註:Student 表中Sage 列的類型是number)
28、查詢每門課程的平均成績,結果按平均成績升序排列,平均成績相同時,按課程號降序排列
29、查詢平均成績大於85 的所有學生的學號、姓名和平均成績
30、查詢課程名稱為“數據庫”,且分數低於60 的學生姓名和分數
31、查詢所有學生的選課情況;
32、查詢任何一門課程成績在70 分以上的姓名、課程名稱和分數;
33、查詢不及格的課程,並按課程號從大到小排列
34、查詢課程編號為c001 且課程成績在80 分以上的學生的學號和姓名;
35、求選了課程的學生人數
36、查詢選修“諶燕”老師所授課程的學生中,成績最高的學生姓名及其成績
37、查詢各個課程及相應的選修人數
38、查詢不同課程成績相同的學生的學號、課程號、學生成績
39、查詢每門功課成績最好的前兩名
40、統計每門課程的學生選修人數(超過10 人的課程才統計)。要求輸出課程號和選修人數,查詢結果按人數降序排列,若人數相同,按課程號升序排列
41、檢索至少選修兩門課程的學生學號
42、查詢全部學生都選修的課程的課程號和課程名
43、查詢沒學過“諶燕”老師講授的任一門課程的學生姓名
44、查詢兩門以上不及格課程的同學的學號及其平均成績
45、檢索“c004”課程分數小於60,按分數降序排列的同學學號
46、刪除“s002”同學的“c001”課程的成績
---------------------
原文:https://blog.csdn.net/hai1991yu/article/details/82558494
SQL語句的增練習案例