一 在数据库 school 中建立student , sc, course 表。
    学生表、课程表、选课表属于数据库 school ,其各自的数据结构如下:
    学生  student (sno,sname,ssex,sage,sdept)
    课程表 course(cno,cname,cpno,ccredit)
    学生选课 sc(sno,cno,grade)
    二 设定主码
    1  student表的主码:sno2  course表的主码:cno 3  sc表的主码:sno,cno
    1写出使用 create table 语句创建表 student , sc, course 的sql语句
    2
    3 删除student表中的元组
    4在数据库school中删除关系student
    5在student表添加属性sbirthdate  类型 datetime
    delete
    1 删除所有 jsj 系的男生  delete from student where sdept=’jsj’ and ssex=’男’; 2 删除“数据库原理”的课的选课纪录
    delete from sc where cno in (select cno fromcourse where cname=’数据库原理’);
    update
    1 修改 0001 学生的系科为:  jsj
    2 把陈小明的年龄加1岁,性别改为女。 2 修改李文庆的1001课程的成绩为 93 分 3 把“数据库原理”课的成绩减去1分
    select 查询语句
    一 单表
    1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。 2查询姓名中第2个字为“明”字的学生学号、性别。 3查询 1001课程没有成绩的学生学号、课程号
    4查询jsj 、sx、wl 系的年龄大于25岁的学生学号,姓名,结果按系排列 5按10分制查询学生的sno,cno,10分制成绩
    (1-10分 为1 ,11-20分为2 ,30-39分为3,。。。90-100为10)  6查询 student 表中的学生共分布在那几个系中。(distinct)  7查询0001号学生1001,1002课程的成绩。
    二 统计
    1查询姓名中有“明”字的学生人数。 2计算‘jsj’系的平均年龄及最大年龄。 3查询学生中姓名为张明、赵英的人数
    4计算每一门课的总分、平均分,最高分、最低分,按平均分由高到低排列 5 计算 1001,1002 课程的平均分。
    6 查询平均分大于80分的学生学号及平均分  7 统计选修课程超过 2 门的学生学号
    8 统计有10位成绩大于85分以上的课程号。 9 统计平均分不及格的学生学号
    10 统计有大于两门课不及格的学生学号
    三 连接
    1查询 jsj 系的学生选修的课程号
    2查询选修1002 课程的学生的学生姓名 (不用嵌套及嵌套2种方法) 3查询数据库原理不及格的学生学号及成绩
    4查询选修“数据库原理”课且成绩 80 以上的学生姓名(不用嵌套及嵌套2种方法) 5查询平均分不及格的学生的学号,姓名,平均分。 6查询女学生平均分高于75分的学生姓名。
    7查询男学生学号、姓名、课程号、成绩。(一门课程也没有选修的男学生也要列出,不能
    四 嵌套、相关及其他
    1 查询平均分不及格的学生人数
    2 查询没有选修1002 课程的学生的学生姓名
    3 查询平均分最高的学生学号及平均分 (2种方法 top , any , all) *4 查询没有选修1001,1002课程的学生姓名。
    5 查询1002课程第一名的学生学号(2种方法) 6 查询平均分前三名的学生学号
    7 查询 jsj 系的学生与年龄不大于19岁的学生的差集
    8 查询1001号课程大于90分的学生学号、姓名及平均分大于85分的学生学号、姓名 9  查询每门课程成绩都高于该门课程平均分的学生学号 10 查询大于本系科平均年龄的学生姓名
    答案
    参考答案
    1 create table student  (snochar(6),  sname varchar(8),  ssexchar(2),  sagesmallint,  sdept  varchar(15),  primary key(sno));
    create table sc
    (snochar(6),  cno char(4),
    grade  decimal(12,2),  primary key(sno,cno));
    insert into student
    values( ’4001’,’赵茵’,’男’,20,’sx’)
    delete from student
    drop table student
    alter table student add sbirthdate datetime
    1 select sno, sname, sage from  student sql统计每个系的学生人数
    where ssex=’女’ and sage between 19 and 21order by sage desc; 2 select sno, ssexfrom  student
    where sname like  ’_明% ’ ; 3 select sno, cnofrom  sc
    where grade is null and cno=’1001’ ; 4 select sno, sname from  student
    where sdept in (’jsj’,’sx’,’wl’) and sage>25 group by sdept;
    select sno, cno, grade/10.0+1 as levelfrom  sc ;
    select distinct sdept from student ; select grade from sc
    where sno=’0001’ and (cno=’1001’ or cno=’1002’) ;
    select count(*) from student where sname like ’%明% ’ ; select avg(sage),max(sage) from student where sdept=’jsj’ ; select cno,sum(grade),avg(grade),max(grade),min(grade) from sc group by cno
    order by avg(grade) desc ;
    select cno, avg(grade) from sc where cno in(‘1001’,’1002’) group by cno ;
    select sc.sno ,avg(grade) from scgroup by sc.sno
    having avg(grade)>80 ;
    select sno from sc group by sno having count(*)>2 ;
    select cno from sc where grade>85 group by cno having count(*)=10 ; select sno from sc group by sno having avg(grade)<60 ;
    select sno from sc where grade<60 group by sno having count(*)>2 ;
    select cno from student,sc where student.sno=sc.sno and sdept=’jsj’ ; a:select sname from student,sc where student.sno=sc.sno and cno=’1002’
    b:select sname from student where sno in (select sno from sc where cno=’1002’)
    select sno,grade from sc,course
    where sco=courseo and cname=’数据库原理’ and grade <60 a:select sname from student ,sc,course
    where student.sno=sc.sno and sco=courseo and grade>80 and cname=’ 数据库原理’ b:select sname from student where sno in (select sno from sc where grade>80 and cno in  (select cno from course where cname=’ 数据库原理’)) select sno,sname,avg(grade) from sc,studentwhere student.sno=sc.snogroup by student.sno having avg(grade)<60
    a:select sname from student where ssex=’女’ and sno in(select sno from sc group by sno having avg(grade)>75)