创建表student:

CREATE TABLE `student` (
`sid` INT(11) NOT NULL AUTO_INCREMENT,
`sname` VARCHAR(20) NOT NULL DEFAULT '0',
`sage` INT(11) NOT NULL DEFAULT '0',
`sex` VARCHAR(10) NOT NULL DEFAULT '0',
     `sdept` VARCHAR(20) NULL DEFAULT NULL,
PRIMARY KEY (`sid`)
)
COLLATE='utf8_general_ci' 
ENGINE=InnoDB

  

创建表course: 

CREATE TABLE `course` (
`cid` INT(11) NOT NULL AUTO_INCREMENT,
`cname` VARCHAR(20) NOT NULL DEFAULT '0',
`ccredit` INT(11) NOT NULL DEFAULT '0',
`semester` INT(11) NOT NULL DEFAULT '0',
`period` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`cid`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=3;

  

创建表sc:

CREATE TABLE `sc` (
`sid` INT(11) NOT NULL DEFAULT '0',
`cid` INT(11) NOT NULL DEFAULT '0',
`score` INT(11) NULL DEFAULT NULL,
PRIMARY KEY (`sid`, `cid`),
CONSTRAINT `FK_sc_course` FOREIGN KEY (`cid`) REFERENCES `course` (`cid`),
CONSTRAINT `FK_sc_student` FOREIGN KEY (`sid`) REFERENCES `student` (`sid`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

  

查询:

1. 计算机系人名字和年龄:

select sname, sage from student where sdept="computer"

2. 数学成绩在80到100之间的名字和学科和分数:

select sname,cname,score from student s, course c, sc where s.sid=sc.sid and c.cid=sc.cid and sc.score between 80 and 100 and cname="数学"

3. 每个系多少学生:

select count(sdept),sdept from student group by sdept

4. 课程1比课程2分数高的学号:

select a.sid  from(select sid, score from sc where cid=1)a, (select sid,score from sc where cid=2)b
where a.score>b.score and a.sid=b.sid

5. 平均分大于80分的学号和平均分:

select sid, avg(score) from sc group by sid having avg(score)>70

6. 所有学生的学号, 姓名, 选课数, 总成绩:

select student.sid, sname, count(sc.cid),sum(sc.score) from student left outer join sc on student.sid=sc.sid group by student.sid;

7.

  

  

mysql--学生课程成绩表的更多相关文章

  1. Hibernate 再接触 树状结构设计以及学生课程成绩表的设计

    1 树状结构的设计 package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax. ...

  2. 通过学生-课程关系表,熟悉hive语句

    通过学生-课程关系表,熟悉hive语句 1.在hive中创建以下三个表. create table  student(Sno int,Sname string,Sex string,Sage int, ...

  3. Mysql学生管理系统:表的建立,外键一对多,多对多关系,中间关联表的建立

    学生管理系统 管理员注册/登录/注销 注册班级(班级详细信息) 注册学生信息 查看班级信息/查看老师资料 教师注册/注销  查看教师资料  查看学生资料  根据名称/班级/ 查看学生详细信息--支持模 ...

  4. hibernate 映射实例 学生 课程 成绩

    学生和课程是多对多,一个学生的一个课程只能对应一个成绩. 所以学生和课程多对多,其中间表多了一个成绩字段. 可以这样设计: 学生和课程通过中间表--成绩,多对多映射.     手动建中间表语句: cr ...

  5. mysql添加为成绩表添加名次

    对于一种这样的表,为score添加名次

  6. hibernate实现学生-课程-成绩

    1.实体类Student package com.test.model; import javax.persistence.Entity; import javax.persistence.Gener ...

  7. Javaweb 第5天 mysql 数据库课程

    MySQL数据库课程 两日大纲 ● 数据库的概念.MySQL快速入门.SQL语言简介 ● 数据库操作.表操作.数据记录操作.数据类型和约束 ● 查询 ● 多表关系.多表连接查询 ● 视图 ● 数据备份 ...

  8. Django 小实例S1 简易学生选课管理系统 11 学生课程业务实现

    Django 小实例S1 简易学生选课管理系统 第11节--学生课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,学生需要拥 ...

  9. 小菜菜mysql练习解读分析1——查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数

    查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 好的,第一道题,刚开始做,就栽了个跟头,爽歪歪,至于怎么栽跟头的 ——需要分析题目,查询的是 ...

随机推荐

  1. Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法

    在使用 longtext 类型执行数据录入时,有时会抛出这个异常,从字面理解就是当前包大小超过 mysql 系统设置的包大小无法执行操作. 解释一下包大小这个东西:简单来说就是mysql把当前执行的m ...

  2. Servlet事件监听器

    监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. 面试题:请描述一下java事件监听机 ...

  3. 初探JavaScript魅力(四)

    选项卡 <title>无标题文档</title> <style> #div1 .active{background:#FF0;} #div1 div{width:2 ...

  4. java 接口参数

    Example6_5.java interface SpeakHello { void speakHello(); } class Chinese implements SpeakHello { pu ...

  5. html dom模型一

    DOM 节点 包含的节点内容: 根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 每个 HTML 元素是元素节点 HTML 元素内的文本是文本节点 ...

  6. SQL Server 2012 - 内置函数

    文本函数 --系统函数位置: 可编程性→函数→系统函数 -- 查询ASCII码 select ASCII('a') --查询数值对应的ASCII码 select CHAR(97) --Left . R ...

  7. spring项目中的定时任务实现和问题解决

    之前我用JAVA中的Timer类实现了服务器的定时任务,具体详见之前的博文. 后来发现了一个更简单的实现方式,利用spring中的@Scheduled注解实现觉得简单的很多. 确实spring封装的特 ...

  8. Web跨浏览器进程通信(Web跨域)

    Web跨域已是老生常谈的话题,这次来尝试下跨域浏览器进程之间的通信 —— 这在过去基本依靠网络中转实现   在之前一篇文章里尝试了跨浏览器的数据共享,最后提到使用LocalConnection还可以实 ...

  9. nginx 504 Gateway Time-out 解决办法

    今天用PHP执行一个非常耗时的文件[ps:自己有用,大概3分钟] 但是执行到一分钟后显示 nginx 504 Gateway Time-out 于是修改php-ini.php中的max_executi ...

  10. 求余区间的求和类问题 离线+线段树 HDU4228

    题目大意:给一个数组a,他的顺序是严格的单调增,然后有如下三个操作 ①加入一个val到a数组里面去,加入的位置就是a[i-1]<val<a[i+1] ②删除一个a[i]=val的值 ③查询 ...