精华内容
下载资源
问答
  • 数据库学生表,课程表,选课表

    千次阅读 2021-04-12 11:18:44
    CREATE TABLE SC (Sno CHAR(9), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno), /* 主码由两个属性构成,必须作为级完整性进行定义*/ FOREIGN KEY (Sno) REFERENCES Student(Sno), /* 级完整性约束条件...
    CREATE TABLE Student 
    (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,Sno是主码*/ 
    Sname CHAR(20) UNIQUE, /* Sname取唯一值*/
    Ssex CHAR(2),
    Sage SMALLINT,
    Sdept CHAR(20)
    );
    CREATE TABLE Course
    (Cno CHAR(4) PRIMARY KEY,
    Cname CHAR(40), 
    Cpno CHAR(4), 
    Ccredit SMALLINT,
    FOREIGN KEY (Cpno) REFERENCES Course(Cno)
    );
    CREATE TABLE SC
    (Sno CHAR(9), 
    Cno CHAR(4), 
    Grade SMALLINT,
    PRIMARY KEY (Sno,Cno),
    /* 主码由两个属性构成,必须作为表级完整性进行定义*/
    FOREIGN KEY (Sno) REFERENCES Student(Sno),
    /* 表级完整性约束条件,Sno是外码,被参照表是Student */
    FOREIGN KEY (Cno)REFERENCES Course(Cno)
    /* 表级完整性约束条件, Cno是外码,被参照表是Course*/
    );
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215121','李勇','男',20,'CS');
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215122','刘晨','女',19,'CS');
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215123','王敏','女',18,'MA');
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215125','张立','男',19,'IS');
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215126','张成民','男',18,'CS');
    
    
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('1','数据库','1',4);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('2','数学',NULL,2);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('3','信息系统','1',4);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('4','操作系统','1',3);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('5','数据结构','1',4);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('6','数据处理',NULL,2);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('7','PASCAL语言','6',4);
    update Course
    SET Cpno='5'
    WHERE Cno='1';
    update Course
    SET Cpno='6'
    WHERE Cno='4';
    update Course
    SET Cpno='7'
    WHERE Cno='5';
    
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215121','1',92);
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215121','2',85);
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215121','3',88);
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215122','2',90);
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215122','3',80);
    select*
    from student;
    select*
    from course;
    select*
    from sc;
    
    alter table Student add Password char(6);
    Update Student Set Password = '123456' where Sno = '201215121';
    Update Student Set Password = '123456' where Sno = '201215122';
    Update Student Set Password = '123456' where Sno = '201215123';
    Update Student Set Password = '123456' where Sno = '201215125';
    Update Student Set Password = '123456' where Sno = '201215126';
    
    展开全文
  • Java 应用开发 课程设计报告 题 目 学生信息管理系统 指导老师 * 姓 名 * 专 业 计算机科学与技术 班 级 10 级 1 班 日 期 2012 年 6 月 目 录 Java 应用开发课程设计报告 一系统总体设计 (一)设计目标及完成功能 1...
  • 学习笔记 ·数据库的创建及查询 文章目录学习笔记任务过程第一步:分析需求第二步:新建数据库第三步:新建1.Grade2.Student3....根据 学生学号 查询学了哪些课程4.每个年级的学生所学的课程学习一:三...

    学习笔记

    ·数据库表的创建及查询

    任务过程

    第一步:分析需求

    每张表的 字段、类型、 约束等;

    1. 需要创建学生表—student,年级表—Grade,学科表—subject
    2. 学生表中字段有studentno ( varchar )( pk ),gradeid( int ),name ( varchar )(not null) , sex(char) ,age( int ) ,city ( varchar ) ,phone ( int )
    3. 年级表中字段有gradeid ( int ) (pk),gradename ( varchar )(unique)
    4. 学科表中字段有subjectid ( int )( pk ),subjectname ( varchar )( notnull ), statyhour ( int ),gradeid( itn )

    第二步:新建数据库

    ​ 数据库名称 java

    create database java;
    

    第三步:新建表

    1.Grade表

    create table Grade(
    	gradeid int (5) primary key,
    	gradename varchar(20) unique
    );
    

    2.Student表

    create table Student(
    	studentno varchar(10) primary key,
    	gradeid int(5) ,
    	name varchar(10) not null,
    	sex char(3) not null,
    	age int(3) not null,
    	city varchar(30) not null,
    	phone int (20) not null,
    	constraint Student_gradeid_fk foreign key(gradeid) references Grade(gradeid)
    );
    

    3.subject表

    create table subject(
    	subjectid int(3) primary key,
    	subjectname varchar(20) not null,
    	statyhour int(10) ,
    	gradeid int(3),
    	constraint subject_gradeid_fk foreign key(gradeid) references Grade(gradeid)
    );
    

    第三步:插入数据

    1.Grade表

    insert into Grade(gradeid,gradename) values(1,"java33");
    insert into Grade(gradeid,gradename) values(2,"java34");
    insert into Grade(gradeid,gradename) values(3,"java35");
    

    2.Student表

    insert into student(studentno,gradeid,name,sex,age,city,phone) values("1001",1,"王可","男",20,"北京市石景山",12312344);
    insert into student(studentno,gradeid,name,sex,age,city,phone) values("1002",1,"凌洋","女",20,"湖南省长沙",1244);
    insert into student(studentno,gradeid,name,sex,age,city,phone) values("1003",2,"杨阳","男",20,"上海市长虹区",342344);
    insert into student(studentno,gradeid,name,sex,age,city,phone) values("1004",2,"姜北","男",20,"河北省邯郸市",876554);
    insert into student(studentno,gradeid,name,sex,age,city,phone) values("1005",3,"张三","女",20,"山东省济南市",234344);
    insert into student(studentno,gradeid,name,sex,age,city,phone) values("1006",3,"王五","男",20,"湖州德清",7895674);
    

    3.subject表

    insert into subject(subjectid,subjectname,statyhour,gradeid)values(1,"Javase",40,3);
    insert into subject(subjectid,subjectname,statyhour,gradeid)values(2,"HTML和CSS网页技术",60,2);
    insert into subject(subjectid,subjectname,statyhour,gradeid)values(3,"mysql",70,1);
    

    第四步:查询测试

    1.查询学号为1001的学生所有信息

    select * from student where studentno="1003";
    

    在这里插入图片描述

    2.根据班级名称查询每个班级有哪些学生

    select gradename,name from Grade left outer join Student on Grade.gradeid=Student.gradeid;
    

    在这里插入图片描述

    3.根据 学生学号 查询学了哪些课程

    select studentno,name,gradename from Student inner join Grade on Grade.gradeid=Student.gradeid where studentno=1002; 
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-31qsIFzn-1575379512201)(1004.png)]
    在这里插入图片描述

    4.每个年级的学生所学的课程

    select Grade.gradename,Student.name, subject.subjectname from 
    	Grade inner join Student on Grade.gradeid = Student.gradeid 
    	inner join subject on Grade.gradeid=subject.gradeid;
    

    在这里插入图片描述

    在这里插入图片描述

    学习

    一:三范式

    解释: 
    1NF:原子性 字段不可再分,否则就不是关系数据库; ------------字段不可分; 
    2NF:唯一性 要求数据库表中的每个实例或行必须可以被惟一的区分; -----有主键,非主键字段依赖主键,不能部分依赖;
    3NF:每列都与主键有直接关系,不存在传递依赖; -------非主键字段不能相互依赖; 
    

    二:主键、外键和索引的区别

    定义:
    主键:唯一标识一条记录,不能有重复,不允许为空。
    外键:表的外键是另一表的主键,外键是可以有重复的,可以是空值。
    索引:该字段没有重复值,但可以有一个空值。
    
    作用:
    主键:用来保证数据完整性
    外键:用来和其他表建立联系,用于保持数据的一致性。
    索引:用来提高查询排序的速度
    
    个数:
    主键:主键只能有一个。
    外键:一个表可以有多个外键。
    索引:一个表可以有多个唯一索引。
    
     -- 外键约束
      constraint A表_id字段_fk foreign key(id字段) references B表(id字段);
    如:
    constraint subject_gradeid_fk foreign key(gradeid) references Grade(gradeid);
    subject表中的gradeid 是 Grade表中的主键,所以gradeid是subject的外键。
    

    复习

      1. 建库

        create database practice; – 表示创建名字为practice的数据库
        drop database practice; – 表示删除名字为practice的数据库

      2. 建表

        create table 表名 (
        字段名1 数据类型,
        字段名2 数据类型,
        字段名3 数据类型,
        … …
        );

      3. 向表格中增加字段

        alter table 表名 add 字段名 数据类型;

      4. 实现表格中字段的改变

        alter table 表名 change 旧字段名 新字段名 数据类型;

      5. 实现表格中字段的删除

        alter table 表名 drop 字段名;

      6. 实现表格名称的重命名

        alter table 表名 rename to 新的表名;

      7. 新增数据

        insert into 表名 [(字段名1, 字段名2, …)] values (值1, 值2, …);

      8. 更改数据

        update 表名 set 字段名1 = 值1 [where 条件];

      9. 删除数据

        delete from 表名 [where 条件];

      10. 基本查询
        select 字段名1, 字段名2, … from 表名;

      11. select [distinct] 字段名1 [as 别名1], 字段名2 [as 别名2], … from 表名
        [where 查询条件]
        [group by 字段名]
        [having 条件]
        [order by 字段名1 asc或desc];

        [distinct]--------去重

        [as …]---------别名

        [group]--------分组查询

        [having 条件]-------------分组后过滤
        [order by 字段名1 asc或desc];------------字段排序

      12. between… and …、

      13. 按照条件进行模糊查询 …where first_name like ‘%拉’;

      14. 内连接:

        select [表名1.]字段名1, [表名2.]字段名2, … from 表名1 inner join 表名2 on 连接条件;

      15. 左外连接:

        select [表名1.]字段名1, [表名2.]字段名2, … from 表名1 left outer join 表名2 on 连接条件;

      16. 右外链接:

        ​ select [表名1.]字段名1, [表名2.]字段名2, … from 表名1 right outer join 表名2 on 连接条件;

      17. 分页查询

       select 字段名1 [as 别名1], 字段名2 [as 别名2], ... from 表名    limit 初始位置(下标默认从0开始), 记录的条数;
      


    join 表名2 on 连接条件;

    1. 右外链接:

      ​ select [表名1.]字段名1, [表名2.]字段名2, … from 表名1 right outer join 表名2 on 连接条件;

    2. 分页查询

       select 字段名1 [as 别名1], 字段名2 [as 别名2], ... from 表名    limit 初始位置(下标默认从0开始), 记录的条数;
    


    展开全文
  • 建立数据库1.建立一个数据库create database work;2.进入数据库workuse ...4.建立student属性有:编号:id (主键,自动增长),姓名:sname,出生年月:sage,性别:ssex(枚举)create table student(sid int primary ke...

    a8f2ba23547c89a16c9a9e21ad02004b.png

    ee67085eef5c9d549d03507fdfa3aa89.png

    1e7848a51fc9304842ab67752f8794f7.png

    b6d823591753bd94f6d0c22ae7906ff4.png

    04c44ac71646d1d6a8e1b5d12b768a25.png

    建立数据库

    1.建立一个数据库

    create database work;

    2.进入数据库work

    use work;

    3.数据库默认编码可能不支持中文,可以在这里设置下

    set names gbk;

    4.建立student表

    属性有:编号:id (主键,自动增长),姓名:sname,出生年月:sage,性别:ssex(枚举)

    create table student(sid int primary key auto_increment,

    sname varchar(20),

    sage date,

    ssex enum(‘男’,‘女’));

    5.第二个课程表中使用了外键教师标号,因而需要先建立教师表

    create table teacher(tid int primary key auto_increment,

    tname varchar(20));

    6.建立课程表

    create table course(cid int primary key auto_increment,

    cname varchar(20),

    tid int,

    foreign key(tid) references teacher(tid));

    7.建立成绩表

    create table sc(sid int,

    cid int,

    score int);

    8.show tables; //可查看建立的四个表格

    9.插入数据,因为里面有主键链接,表格插入数据也要有顺序(注意题目图片上都是字节引号,应该为int,不要单引号)

    a,先给student表插入数据

    insert into student values(1,'赵雷','1990-01-01','男'),

    (2,'钱电','1990-12-21','男'),

    (3,'孙风','1990-05-20','男'),

    (4,'李云','1990-08-06','男'),

    (5,'周梅','1991-12-01','女'),

    (6,'吴兰','1992-03-01','女'),

    (7,'郑竹','1989-07-01','女'),

    (8,'王菊','1990-01-20','女');

    b, 给teacher表插入数据,这里不可以先给course表插入数据,因为course表外链接到teacher的主键

    insert into teacher values(1,'张三'),

    (2,'李四'),

    (3,'王五');

    c, 给course表插入数据

    insert into course values(1,'语文',2),

    (2,'语文',1),

    (3,'语文',3);

    d, 最后给sc表插入数据(题目图片少了第1个学生成绩,在这加上 1,1,90; 1,2,80; 1,3,90)

    insert into sc values(1,1,90),

    (1,2,80),

    (1,3,90),

    (2,1,70),

    (2,2,60),

    (2,3,80),

    (3,1,80),

    (3,2,80),

    (3,3,80),

    (4,1,50),

    (4,2,30),

    (4,3,20),

    (5,1,76),

    (5,2,87),

    (6,1,31),

    (6,3,34),

    (7,2,89),

    (7,3,98);

    -----------------------数据库建立完成---------------------------------------

    1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数

    select s.sid,s.sname,s.sage,s.ssex,sc1.score,sc2.score from student s,sc sc1,sc sc2 where sc1.cid=1 and sc2.cid=2 and sc1.score>sc2.score and sc1.sid=sc2.sid and s.sid=sc1.sid;

    3.查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩

    select s.sid,s.sname,avg(sc.score) from student s,sc group by s.sid having avg(sc.score)>=60;

    4、查询名字中含有"风"字的学生信息

    select * from student where sname like ‘%风%’;

    5、查询课程名称为"数学",且分数低于60的学生姓名和分数

    select s.sname,score from student s,sc where s.sid=sc.sid and cid=2 and score<60;

    6、查询所有学生的课程及分数情况;

    select cname,score from sc,course where sc.cid=course.cid;

    7、查询没学过"张三"老师授课的同学的信息

    select s.* from student s where s.sid not in(select sc1.sid from sc sc1,course c,teacher t where t.tid=c.tid and sc1.cid=c.cid and t.tname=‘张三’);

    8.查询学过"张三"老师授课的同学的信息

    select s.* from student s ,sc sc1,course c,teacher t where s.sid=sc1.sid and sc1.cid=c.cid and c.tid=t.tid and t.tname=‘张三’;

    9、查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

    student(sid) sc(sid cid tid) sc2(sid cid tid) course(cid tid cname)

    select s.* from student s,sc sc1,sc sc2 where s.sid=sc1.sid and sc1.sid=sc2.sid and sc1.cid=1 and sc2.cid=2;

    10、查询学过编号为"01"但是没有学过编号为"02"的课程的同学的信息

    select distinct s.* from student s,sc sc1,sc sc2,sc sc3 where s.sid=sc1.sid and sc1.sid=sc2.sid and sc1.cid=1 and sc2.cid!=2;

    11、查询没有学全所有课程的同学的信息

    select s.* from student s where s.sid not in(select sc1.sid from sc sc1,sc sc2,sc sc3 where sc1.cid=1 and sc2.cid=2 and sc3.cid =3 and sc1.sid=sc2.sid and sc1.sid=sc3.sid) group by s.sid;

    12、查询至少有一门课与学号为"01"的同学所学相同的同学的信息

    select distinct s.* from student s,sc sc1 where s.sid=sc1.sid and sc1.cid in(select cid from sc where sid=1) and s.sid<> 1;

    13、查询和"01"号的同学学习的课程完全相同的其他同学的信息

    select s.* from student s where s.sid in(select distinct sc.sid from sc where sid<>1 and sc.cid in(select distinct cid from sc where sid=1)group by sc.sid having count(1)=(select count(1) from sc where s.sid=1));

    14、查询没学过"张三"老师讲授的任一门课程的学生姓名

    select s.* from student s where s.sid not in(select sc1.sid from sc sc1,course c,teacher t where sc1.cid=c.cid and c.tid=t.tid and t.tname=‘张三’);

    15、查询出只有两门课程的全部学生的学号和姓名

    select s.* from student s,sc group by sc.sid having count(sc.sid)=2 and s.sid=sc.sid;

    16、查询1990年出生的学生名单(注:Student表中Sage列的类型是datetime)

    select * from student where sage>=‘1900-01-01’ and sage<=‘1900-12-31’;

    select s.* from student s where s.sage like ‘1900-%’;(方法2)

    17、查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

    select sc.cid,avg(score) from sc group by sc.cid order by avg(score) DESC , sc.cid;

    18、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;

    select s.sname,c.cname,score from student s,sc,course c where s.sid=sc.sid and sc.cid=c.cid and score>70;

    19、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩

    select s.sname,avg(score) from sc,student s where s.sid=sc.sid group by sc.sid having avg(score)>=85;

    20、查询不及格的课程

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

    21、查询课程编号为01且课程成绩在80分以上的学生的学号和姓名;

    select s.sid,s.sname from student s,sc where sc.sid=s.sid and sc.cid=1 and score>80;

    22、求每门课程的学生人数

    select cid,count(sid) from sc group by sc.cid;

    23、统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

    select cid,count(sid) from sc group by cid having count(sid)>5 order by count(sid),cid ASC;

    24、查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

    select s1.sid,s2.sid,sc1.cid,sc1.score,sc2.score from student s1,student s2,sc sc1,sc sc2 where s1.sid!=s2.sid and s1.sid=sc1.sid and s2.sid=sc2.sid and sc1.cid!=sc2.cid and sc1.score=sc2.score;

    25、检索至少选修两门课程的学生学号

    select sid from sc group by sid having count(cid)>=2;

    26、查询选修了全部课程的学生信息

    select s.* from sc,student s where s.sid=sc.sid group by sid having count

    (cid)=3;

    27、查询各学生的年龄

    select s.sname,(TO_DAYS(‘2017-09-07’)-TO_DAYS(s.sage))/365 as age from student s;

    28、查询本月过生日的学生

    select s.sname from student s where s.sage like ‘_____07%’;

    29、查询下月过生日的学生

    select s.sname from student s where s.sage like ‘_____08%’;

    30、查询学全所有课程的同学的信息

    select s.* from student s,sc sc1,sc sc2,sc sc3 where sc1.cid=1 and sc2.cid=2 and sc3.cid=3 and sc1.sid=sc2.sid and sc1.sid=sc3.cid and s.sid =sc1.sid group by s.sid;

    展开全文
  • **建立student**属性有:编号:id (主键,自动增长),姓名:sname,出生年月:sage,性别:ssex(枚举)create table student(sid int primary key auto_increment,sname varchar(20),sage date,ssex enum(‘男’,‘女’));...

    **建立student表**

    属性有:编号:id (主键,自动增长),姓名:sname,出生年月:sage,性别:ssex(枚举)

    create table student(sid int primary key auto_increment,

    sname varchar(20),

    sage date,

    ssex enum(‘男’,‘女’));

    **建立教师表**

    create table teacher(tid int primary key auto_increment,

    tname varchar(20));

    **建立课程表**

    create table course(cid int primary key auto_increment,

    cname varchar(20),

    tid int,

    foreign key(tid) references teacher(tid));

    **建立成绩表**

    create table sc(sid int,

    cid int,

    score int);

    **插入数据**

    1,先给student表插入数据

    insert into student values(1,'赵雷','1990-01-01','男'),

    (2,'钱电','1990-12-21','男'),

    (3,'孙风','1990-05-20','男'),

    (4,'李云','1990-08-06','男'),

    (5,'周梅','1991-12-01','女'),

    (6,'吴兰','1992-03-01','女'),

    (7,'郑竹','1989-07-01','女'),

    (8,'王菊','1990-01-20','女');

    2, 给teacher表插入数据,这里不可以先给course表插入数据,因为course表外链接到teacher的主键

    insert into teacher values(1,'张三'),

    (2,'李四'),

    (3,'王五');

    3, 给course表插入数据

    insert into course values(1,'语文',2),

    (2,'语文',1),

    (3,'语文',3);

    4, 最后给sc表插入数据(题目图片少了第1个学生成绩,在这加上 1,1,90;  1,2,80;  1,3,90)

    insert into sc values(1,1,90),

    (1,2,80),

    (1,3,90),

    (2,1,70),

    (2,2,60),

    (2,3,80),

    (3,1,80),

    (3,2,80),

    (3,3,80),

    (4,1,50),

    (4,2,30),

    (4,3,20),

    (5,1,76),

    (5,2,87),

    (6,1,31),

    (6,3,34),

    (7,2,89),

    (7,3,98);

    **1.查询出只有两门课程的全部学生的学号和姓名**

    SELECT * FROM student s

    WHERE s.sid in

    (SELECT sc.sid FROM sc

    GROUP BY sc.sid

    HAVING COUNT(*)=2);

    **2.查询没有学全所有课程的同学的信息**

    SELECT s.sname,cname,score FROM student s,course,sc

    WHERE sc.sid=s.sid

    AND sc.cid=course.cid;

    **3.查询选修了全部课程的学生信息**

    SELECT * FROM student s

    WHERE s.sid in

    (SELECT sc.sid from sc

    GROUP BY sc.sid

    HAVING COUNT(*)=(SELECT COUNT(*) from course));

    ------------------------------------

    SELECT * FROM student

    WHERE NOT EXISTS

    (SELECT * FROM course

    WHERE NOT EXISTS

    (SELECT *

    FROM sc

    WHERE sc.sid=student.sid AND sc.cid=course.cid));

    **4.查询学过"张三"老师授课的同学的信息**

    SELECT * FROM student  s,sc,teacher t, course

    WHERE sc.sid=s.sid

    AND course.cid=sc.cid

    AND course.tid=t.tid

    AND  t.tname='张三';

    **5.查询没学过"张三"老师讲授的任一门课程的学生姓名**

    SELECT * FROM student s

    WHERE s.sid not in

    (SELECT sc.sid FROM sc ,course,teacher

    WHERE  sc.cid=course.cid

    AND teacher.tid=course.tid AND teacher.tname='张三');

    **6.查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩**

    SELECT s.sid,s.sname,AVG(score) from sc ,student s

    WHERE  s.sid=sc.sid

    GROUP BY sid

    HAVING avg(score)>80;

    **7.查询任何一门课程成绩在70分以上的姓名、课程名称和分数**

    SELECT s.sid,s.sname,c.cname,score

    FROM student s,sc,course c

    WHERE sc.sid=s.sid

    AND sc.cid=c.cid

    AND score>70;

    **8.查询不及格的课程**

    SELECT s.sname,c.cname,score FROM student s,course c,sc

    WHERE sc.sid=s.sid

    AND sc.cid=c.cid

    AND sc.score<60;

    **9.查询课程编号为01且课程成绩在80分以上的学生的学号和姓名;**

    SELECT s.sid,s.sname FROM student s ,sc

    WHERE s.sid=sc.sid

    AND cid=1

    AND score>80;

    **10.求每门课程的查询选修了全部课程的学生信息学生人数**

    select cid,count(sid) from sc

    group by sc.cid;

    **11.查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息**

    SELECT s.* FROM student s,sc

    WHERE sc.sid=s.sid

    AND sc.cid=01

    AND EXISTS

    (SELECT 1 FROM sc sc1

    WHERE  sc1.sid=sc.sid

    AND sc1.cid=02);

    //EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False

    EXISTS 指定一个子查询,检测 行 的存在。

    //select 1 from table;与select anycol(目的表集合中的任意一行) from table;  表里如果有记录,就显示 1  简单理解就是不查询具体列,只要有值就显示1

    **12.查询"01"课程比"02"课程成绩高的学生的信息及课程分数**

    SELECT s.*,a.score '课程01的分数',b.score '课程02的分数'

    FROM student s,sc a,sc b

    WHERE   a.sid=s.sid

    AND b.sid=s.sid

    AND a.cid=01

    AND b.cid=02

    AND a.score>b.score;

    展开全文
  • ![图片说明]...左边为学生表student,右边为课程表course 现在我要查询学号,姓名,选修课程名。 如何实现?其实说白了就是course字段如何实现一对多啊? 各位大神有没有见解~~
  • 建立数据库 1.建立一个数据库 create database work; 2.进入数据库work use work;...4.建立student 属性有:编号:id (主键,自动增长),姓名:sname,出生年月:sage,性别:ssex(枚举) create table ...
  • 3. 增加学生信息界面:增加信息数据 4. 查找学生信息界面 (1) 根据学号查找:返回学生信息 (2) 查找全部: 返回学生信息 5. 修改学生信息界面:修改信息数据 6. 删除学生信息界面:删除信息数据 关注微信公众号:让...
  • 如果你是在校大学生,或许你用多了各种课程表,比如课程格子,超级课程表。它们都有一个共同点就是可以一键导入教务处的课程。那么一直都是用户的我们,没有考虑过之间是如何实现的。那么现在就由我来带领大家从程序...
  • Web技术(Java)初学+制作学期课程表

    千次阅读 2019-03-11 21:49:03
    本学期开了Web课程,然后在书102页有一个上机练习题:制作一个本学期使用的课表。 话不多说,直接附上自己做完后的图片(源代码在后面) 今天上课才接触HTML 所以界面肯定还是一般般 随着学习,我还会更新Web技术...
  • 制作课程表教案设计

    2021-06-03 16:01:05
    制作课程表教案设计我的课程表【教学目标】1、了解表格、行、列、单元格的概念,区分行与列。...【教材分析】本课内容通过制作课程表,让学生掌握简单表格的制作方法,并通过学习使学生学会在创 建表格的基础上,学...
  • 文章目录蚌埠学院教务系统自动导入课程表到小米/Redmi手机小爱同学课程表一、自我介绍二、使用说明1.使用条件2.读入数据总结and已知问题 蚌埠学院教务系统自动导入课程表到小米/Redmi手机小爱同学课程表 蚌埠学院...
  • 制作课程表教学设计

    2021-06-03 16:01:48
    1、了解表格、行、列、单元格的概念,区分行与列。...【设计理念】本课内容通过制作课程表,让学生掌握简单表格的制作方法,并通过学习使学生学会在创建表格的基础上,学会修改和美化表格。针对本节课我主要是通过任...
  • 整理的一些比较重要的内容. 传送门: uniapp+vant weapp实现课程表小程序_概览 uniapp+vant weapp实现课程表小程序_课程表功能的实现 uniapp+vant weapp实现图片上传前预览功能
  • 课程设计图片浏览器

    2021-06-06 19:05:14
    课程设计图片浏览器 目录 1 《程序设计语言(VB)》课程设计 一、设计目的 1、进一步掌握程序的三大基本结构; 2、进一步掌握算法设计; 3、进一步理解程序调试; 4、综合利用上述知识,学习设计并编写简单应用程序; ...
  • 课程表的实现(1)(基于强智科技教务系统) 1,本小系统服务于在校大学生。用户可以根据代码定制安装自己的轻量级课程表app在手机上(当然,可以把网络请求部分修改移植到PC或者Web平台上)。 2,好处:再也不用...
  • 如何实现一个简单教务系统的课程表查询

    万次阅读 多人点赞 2018-07-05 18:21:56
     首先做好课程表静态页面(可用Sublime,Dreawvear等开发工具编写,本人用Sublime编写,代码稍后附上)2. 数据库设计(可用access数据库、sql数据库或者mysql数据库,根据自己习惯选用数据库,本人选用access数据库。...
  • (课程设计图片浏览器目录《程序设计语言(VB)》课程设计一、设计目的1、进一步掌握程序的三大基本结构;2、进一步掌握算法设计;3、进一步理解程序调试;4、综合利用上述知识,学习设计并编写简单应用程序;5、培养...
  • 这个的列分别是:课程id、课程名称、教授老师名称、上课班级 这个的列分别是:课程id、上课的星期天数、上课的节次、上课地点 前端代码 前端就是做一个大体的框架,然后将数据填入 css代码 <style> ...
  • 无后端数据库版本的----学生信息管理系统 文末下载地址 这学期的前端作业很奇怪,不用数据库实现学生信息管理系统,随便写了下。 具体功能如下: 实现了查看信息(单击查看按钮,查看具体信息,且为不可修改格式...
  • 1、人人齐参与,我为班出点力用 word 做课程表一、教材分析:本课是佛山市信息技术四年级下册第 6 课的内容,它是教材关于 word知识体系中的一个相对独立的内容,在前期的学习中,学生已经掌握了 word 软件的基础...
  • 课程表---基于SQLite增删查改

    千次阅读 2017-12-28 16:20:14
    图片不是同一时段截的图,只能展示一下有的功能。 实现的功能: 1.固定课节数为 12 节; 2.新增、修改课节时间; 3.新增课程,单击已有的课程进行修改课程信息,长按进行删除; 4.课程信息和课节...
  • 课表2.0测试 为目前课表添加最新功能 目前添加 课表界面 下拉刷新 周数切换(开发中) SnakeBar提示 壁纸切换并且使用Pattle动态修改主体颜色 课程详情界面 查看课程信息 学生信息界面 查看、搜索学生信息 主界面 ...
  • (学号自动生成且唯一)查询学生成绩:每个人都有数学、Java与体育与选修课查询学生课程进行公选课选课教师管理系统添删改学生功能查找学生(姓名查找(支持模糊查找),学号查找,班级查找,科目查找)进行学生成绩分析...
  • 简单网页课表制作

    千次阅读 2018-09-19 19:55:30
    <title>xxx-xxx学年秋(两学期) 班级课程表 班名:xxx <body background="E:\\test.jpg" ><!--背景图片保存路径--> <caption><strong>课程表</strong></caption> 节次 星期一 星期二 星期三 期期四 ...
  • 《Java Web编程》课程设计学生管理系统完成日期: 2018年12月26日1 项目引言1.1 项目简介学生入校后,我们需要管理这些学生,那么就需要我们对这些学生进行很多的操作,此时我们学校对学生有条理的管理,包括一些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,193
精华内容 6,477
关键字:

学生课程表图片