MySQL--这特么是什么玩意

表:

/*
 Navicat Premium Data Transfer

 Source Server         : localhost
 Source Server Type    : MySQL
 Source Server Version : 50624
 Source Host           : localhost
 Source Database       : sqlexam

 Target Server Type    : MySQL
 Target Server Version : 50624
 File Encoding         : utf-8

 Date: 10/21/2016 06:46:46 AM
*/

SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
--  Table structure for `class`
-- ----------------------------
DROP TABLE IF EXISTS `class`;
CREATE TABLE `class` (
  `cid` int(11) NOT NULL AUTO_INCREMENT,
  `caption` varchar(32) NOT NULL,
  PRIMARY KEY (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

-- ----------------------------
--  Records of `class`
-- ----------------------------
BEGIN;
INSERT INTO `class` VALUES (‘1‘, ‘三年二班‘), (‘2‘, ‘三年三班‘), (‘3‘, ‘一年二班‘), (‘4‘, ‘二年九班‘);
COMMIT;

-- ----------------------------
--  Table structure for `course`
-- ----------------------------
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (
  `cid` int(11) NOT NULL AUTO_INCREMENT,
  `cname` varchar(32) NOT NULL,
  `teacher_id` int(11) NOT NULL,
  PRIMARY KEY (`cid`),
  KEY `fk_course_teacher` (`teacher_id`),
  CONSTRAINT `fk_course_teacher` FOREIGN KEY (`teacher_id`) REFERENCES `teacher` (`tid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

-- ----------------------------
--  Records of `course`
-- ----------------------------
BEGIN;
INSERT INTO `course` VALUES (‘1‘, ‘生物‘, ‘1‘), (‘2‘, ‘物理‘, ‘2‘), (‘3‘, ‘体育‘, ‘3‘), (‘4‘, ‘美术‘, ‘2‘);
COMMIT;

-- ----------------------------
--  Table structure for `score`
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score` (
  `sid` int(11) NOT NULL AUTO_INCREMENT,
  `student_id` int(11) NOT NULL,
  `course_id` int(11) NOT NULL,
  `num` int(11) NOT NULL,
  PRIMARY KEY (`sid`),
  KEY `fk_score_student` (`student_id`),
  KEY `fk_score_course` (`course_id`),
  CONSTRAINT `fk_score_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`cid`),
  CONSTRAINT `fk_score_student` FOREIGN KEY (`student_id`) REFERENCES `student` (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8;

-- ----------------------------
--  Records of `score`
-- ----------------------------
BEGIN;
INSERT INTO `score` VALUES (‘1‘, ‘1‘, ‘1‘, ‘10‘), (‘2‘, ‘1‘, ‘2‘, ‘9‘), (‘5‘, ‘1‘, ‘4‘, ‘66‘), (‘6‘, ‘2‘, ‘1‘, ‘8‘), (‘8‘, ‘2‘, ‘3‘, ‘68‘), (‘9‘, ‘2‘, ‘4‘, ‘99‘), (‘10‘, ‘3‘, ‘1‘, ‘77‘), (‘11‘, ‘3‘, ‘2‘, ‘66‘), (‘12‘, ‘3‘, ‘3‘, ‘87‘), (‘13‘, ‘3‘, ‘4‘, ‘99‘), (‘14‘, ‘4‘, ‘1‘, ‘79‘), (‘15‘, ‘4‘, ‘2‘, ‘11‘), (‘16‘, ‘4‘, ‘3‘, ‘67‘), (‘17‘, ‘4‘, ‘4‘, ‘100‘), (‘18‘, ‘5‘, ‘1‘, ‘79‘), (‘19‘, ‘5‘, ‘2‘, ‘11‘), (‘20‘, ‘5‘, ‘3‘, ‘67‘), (‘21‘, ‘5‘, ‘4‘, ‘100‘), (‘22‘, ‘6‘, ‘1‘, ‘9‘), (‘23‘, ‘6‘, ‘2‘, ‘100‘), (‘24‘, ‘6‘, ‘3‘, ‘67‘), (‘25‘, ‘6‘, ‘4‘, ‘100‘), (‘26‘, ‘7‘, ‘1‘, ‘9‘), (‘27‘, ‘7‘, ‘2‘, ‘100‘), (‘28‘, ‘7‘, ‘3‘, ‘67‘), (‘29‘, ‘7‘, ‘4‘, ‘88‘), (‘30‘, ‘8‘, ‘1‘, ‘9‘), (‘31‘, ‘8‘, ‘2‘, ‘100‘), (‘32‘, ‘8‘, ‘3‘, ‘67‘), (‘33‘, ‘8‘, ‘4‘, ‘88‘), (‘34‘, ‘9‘, ‘1‘, ‘91‘), (‘35‘, ‘9‘, ‘2‘, ‘88‘), (‘36‘, ‘9‘, ‘3‘, ‘67‘), (‘37‘, ‘9‘, ‘4‘, ‘22‘), (‘38‘, ‘10‘, ‘1‘, ‘90‘), (‘39‘, ‘10‘, ‘2‘, ‘77‘), (‘40‘, ‘10‘, ‘3‘, ‘43‘), (‘41‘, ‘10‘, ‘4‘, ‘87‘), (‘42‘, ‘11‘, ‘1‘, ‘90‘), (‘43‘, ‘11‘, ‘2‘, ‘77‘), (‘44‘, ‘11‘, ‘3‘, ‘43‘), (‘45‘, ‘11‘, ‘4‘, ‘87‘), (‘46‘, ‘12‘, ‘1‘, ‘90‘), (‘47‘, ‘12‘, ‘2‘, ‘77‘), (‘48‘, ‘12‘, ‘3‘, ‘43‘), (‘49‘, ‘12‘, ‘4‘, ‘87‘), (‘52‘, ‘13‘, ‘3‘, ‘87‘);
COMMIT;

-- ----------------------------
--  Table structure for `student`
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `sid` int(11) NOT NULL AUTO_INCREMENT,
  `gender` char(1) NOT NULL,
  `class_id` int(11) NOT NULL,
  `sname` varchar(32) NOT NULL,
  PRIMARY KEY (`sid`),
  KEY `fk_class` (`class_id`),
  CONSTRAINT `fk_class` FOREIGN KEY (`class_id`) REFERENCES `class` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

-- ----------------------------
--  Records of `student`
-- ----------------------------
BEGIN;
INSERT INTO `student` VALUES (‘1‘, ‘男‘, ‘1‘, ‘理解‘), (‘2‘, ‘女‘, ‘1‘, ‘钢蛋‘), (‘3‘, ‘男‘, ‘1‘, ‘张三‘), (‘4‘, ‘男‘, ‘1‘, ‘张一‘), (‘5‘, ‘女‘, ‘1‘, ‘张二‘), (‘6‘, ‘男‘, ‘1‘, ‘张四‘), (‘7‘, ‘女‘, ‘2‘, ‘铁锤‘), (‘8‘, ‘男‘, ‘2‘, ‘李三‘), (‘9‘, ‘男‘, ‘2‘, ‘李一‘), (‘10‘, ‘女‘, ‘2‘, ‘李二‘), (‘11‘, ‘男‘, ‘2‘, ‘李四‘), (‘12‘, ‘女‘, ‘3‘, ‘如花‘), (‘13‘, ‘男‘, ‘3‘, ‘刘三‘), (‘14‘, ‘男‘, ‘3‘, ‘刘一‘), (‘15‘, ‘女‘, ‘3‘, ‘刘二‘), (‘16‘, ‘男‘, ‘3‘, ‘刘四‘);
COMMIT;

-- ----------------------------
--  Table structure for `teacher`
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher` (
  `tid` int(11) NOT NULL AUTO_INCREMENT,
  `tname` varchar(32) NOT NULL,
  PRIMARY KEY (`tid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
--  Records of `teacher`
-- ----------------------------
BEGIN;
INSERT INTO `teacher` VALUES (‘1‘, ‘张磊老师‘), (‘2‘, ‘李平老师‘), (‘3‘, ‘刘海燕老师‘), (‘4‘, ‘朱云海老师‘), (‘5‘, ‘李杰老师‘);
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

表结构和数据

表结构和数据

题:

1、自行创建测试数据


2、查询“生物”课程比“物理”课程成绩高的所有学生的学号。ps:针对的是自己的生物成绩比物理成绩高,再把符合条件的学生的学号查出来;


3、查询平均成绩大于60分的同学的学号和平均成绩;


4、查询所有同学的学号、姓名、选课数、总成绩;


5、查询姓“李”的老师的个数;


6、查询没学过“叶平”老师课的同学的学号、姓名;


7、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;


8、查询学过“叶平”老师所教的所有课的同学的学号、姓名;


9、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;


10、查询有课程成绩小于60分的同学的学号、姓名;


11、查询没有学全所有课的同学的学号、姓名;


12、查询至少有一门课与学号为“001”的同学所学相同的同学的学号和姓名;


13、查询至少学过学号为“001”同学所选课程中任意一门课的其他同学学号和姓名;


14、查询和“002”号的同学学习的课程完全相同的其他同学学号和姓名;


15、删除学习“叶平”老师课的SC表记录;


16、向SC表中插入一些记录,这些记录要求符合以下条件:①没有上过编号“002”课程的同学学号;②插入“002”号课程的平均成绩;


17、按平均成绩从低到高显示所有学生的“语文”、“数学”、“英语”三门的课程成绩,按如下形式显示: 学生ID,语文,数学,英语,有效课程数,有效平均分;


18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分;


19、按各科平均成绩从低到高和及格率的百分数从高到低顺序;


20、课程平均分从高到低显示(现实任课老师);


21、查询各科成绩前三名的记录:(不考虑成绩并列情况)


22、查询每门课程被选修的学生数;


23、查询出只选修了一门课程的全部学生的学号和姓名;


24、查询男生、女生的人数;


25、查询姓“张”的学生名单;


26、查询同名同姓学生名单,并统计同名人数;


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


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


29、查询课程名称为“数学”,且分数低于60的学生姓名和分数;


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


31、求选了课程的学生人数


32、查询选修“杨艳”老师所授课程的学生中,成绩最高的学生姓名及其成绩;


33、查询各个课程及相应的选修人数;


34、查询不同课程但成绩相同的学生的学号、课程号、学生成绩;


35、查询每门课程成绩最好的前两名;


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


37、查询全部学生都选修的课程的课程号和课程名;


38、查询没学过“叶平”老师讲授的任一门课程的学生姓名;


39、查询两门以上不及格课程的同学的学号及其平均成绩;


40、检索“004”课程分数小于60,按分数降序排列的同学学号;


41、删除“002”同学的“001”课程的成绩;

原文地址:https://www.cnblogs.com/marry215464/p/9807431.html

时间: 2024-10-19 05:52:38

MySQL--这特么是什么玩意的相关文章

CentOS下安装mysql

试着在腾讯云服务器上部署web应用,就想着先搭建一下服务器环境,操作系统选的是centos7,在安装好jdk,tomcat后测试可以部署web应用就准备再安装一个mysql数据库,之前试过好几种方式都是以初始密码找不到告终,这次就又重新百度安装方式. 据说centos7没有mysql 的yum源,于是就直接从网上下载mysql的repo源(这个玩意目前还没仔细探究是什么东西,在centos里面应该会涉及到),使用 wget http://repo.mysql.com/mysql-communit

MySql 参数赋值bug (MySql.Data, Version=6.9.6.0 沙雕玩意)

直接将参数赋值为常量0则参数值为null,出现异常:MySql.Data.MySqlClient.MySqlException (0x80004005): Column 'PayType' cannot be null public static long CreateIntegralPay(long memId, decimal payAmount, decimal buyIntegral) { var id = BitConverter.ToInt64(Guid.NewGuid().ToBy

PHP使用MemCache加速MySql速度,提高数据库负载

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. ————摘自AMH面板简介 博客站的服务器用的AMH的面板没有自己编译PHP之类 应用中心直接安装了MemCache服务器 如果用自己编译 http://memcached.org/ 去官网下载安装就可以了,这里就不多说了~ 安装完后,确保PHP服务器支持MemCache拓展,如果不支持可以到下面两个地址安装依赖库

十种MYSQL显错注入原理讲解(二)

上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() select * from test where id=1 and geometrycollection((select * from(select * from(select user())a)b)); 函数讲解: GeometryCollection是由1个或多个任意类几何对象构成的几何对象.GeometryCollection中的所有元素必须具有相同的空间参考系(即相同的坐标系).对Ge

mysql中游标的使用案例详解(学习笔记)

1.游标是啥玩意?简单的说:游标(cursor)就是游动的标识,啥意思呢,通俗的这么说,一条sql取出对应n条结果资源的接口/句柄,就是游标,沿着游标可以一次取出一行.我给大家准备一张图: 2.怎么使用游标?//1.声明/定义一个游标declare 声明;declare 游标名 cursor for select_statement;//2.打开一个游标open 打开;open 游标名//3.取值fetch 取值;fetch 游标名 into var1,var2[,...]//4.关闭一个游标c

安装MySql for Visual Studio的坑

问题描述 安装MySql for Visual Studio 一般来说是为了能在VS的服务器数据连接的数据源中能选择MySql类型,如下图: 但是有时候,明明安装成功了,却莫名找不到MySql的数据源.在以后情况下会遇到: 1.在安装完VS后,又重新打开安装程序修改了安装位置: 2.同时安装了VS2013和VS2015,并且相互独立安装在不同的位置(该情况下会只有一个版本的VS成功安装): 3.可能存在的其他情况... .... 解决过程 第一个怀疑的肯定是mysql-for-visualstu

MySQL的慢查询日志

mysql本身支持慢查询日志,可以配置SQL查询超过特定时间的查询记录到日志中.这在优化SQL查询中是非常有效的工具,能够帮助我们快速定位发生问题的SQL. 慢查询日志常用的变量   long_query_time : 最小值为0,默认为10毫秒,仅记录超过查询时间的SQL,最小粒度为毫秒. min_examined_row_limit : 执行查询时扫描过的行数. slow_query_log_file : 慢查询日志文件名称 log-output : 慢查询日志存放路径 log_querie

Mysql 5.7.12 配置

打算用express+mysql写一个博客.本来在公司电脑已经配置好了的,但是为了方便在家里也能修改,所以在自己的电脑里也安装好环境. 公司电脑是win7系统32位的,安装的是5.5的mysql,用的是msi,直接一路点击就安装好了.但是我自己的电脑是win10系统64位的,官网上只有zip,只能手动配置了. (不配置不知道啊,各种问题) 下载 在官网直接选好对应系统的就好了,准备下载的时候会叫你注册账号,可以直接跳过下载的. 解压 找个目录,把下好的zip解压.我是放在d:下面的,所以现在的目

win7 + red hat 7.3(VMware 12) + mysql 5.7.18(搭建环境)

说明:这个过程只是(仅仅)在自己机器上可以实现,出现了其它的问题,可以查资料解决 这种方法(流程)可能很快就会失效,毕竟软件发展太快了,写个流程总结作为日后参照 获取资源: 1.到 https://www.vmware.com/cn.html  //获取 VMware(试用版) 2.到  https://dev.mysql.com/downloads/mysql/  下载 mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 3.上传到服务器中,我直接弄了共享(效果是

Celery+rabbitmq+mysql+flower

flower: http://docs.celeryproject.org/en/latest/getting-started/index.html http://flower.readthedocs.org/en/latest/config.html https://denibertovic.com/posts/celery-best-practices/ http://daimin.github.io/posts/celery-shi-yong.html http://ju.outofmem