MYSQL笔试题(考试题)附带答案
表名和字段
- 1.学生表
- Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别
- 2.课程表
- Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号
- 3.教师表
- Teacher(t_id,t_name) –教师编号,教师姓名
- 4.成绩表
- Score(s_id,c_id,s_score) –学生编号,课程编号,分数
建库建表:
创建数据库:
drop database if exists stu;
create database stu;
创建学生表:
create table student(s_id int(10) not null auto_increment comment '学生编号',s_name varchar(10) not null comment '学生姓名',s_birth varchar(20) not null comment '出生日期',s_sex varchar(2) not null comment '性别',primary key(s_id)
) engine=innodb default charset=utf8;
创建课程表:
create table student(s_id int(10) not null auto_increment comment '学生编号',s_name varchar(10) not null comment '学生姓名',s_birth varchar(20) not null comment '出生日期',s_sex varchar(2) not null comment '性别',primary key(s_id)
) engine=innodb default charset=utf8;
创建课程表:
create table course(c_id int(10) not null auto_increment comment '课程编号',c_name varchar(10) not null comment '课程名称',t_id int(10) not null comment '任课老师',primary key(c_id)) engine=innodb default charset=utf8;
创建教师表:
create table teacher(t_id int(10) not null auto_increment comment '教师编号',t_name varchar(10) not null comment '教师姓名',primary key(t_id)
) engine=innodb default charset=utf8;
成绩表:
create table score(s_id int(10) not null auto_increment comment '成绩编号',c_id int(10) not null comment '课程编号',s_score int(3) not null comment '学生分数',primary key(s_id,c_id)
) engine=innodb default charset=utf8;
测试数据:
插入学生表测试数据 (学生编号,学生姓名,出生日期,性别):
insert into Student values(1, '赵雷' , '1990-01-01' , '男');
insert into Student values(2, '钱电' , '1990-12-21' , '男');
insert into Student values(3, '孙风' , '1990-05-20' , '男');
insert into Student values(4, '李云' , '1990-08-06' , '男');
insert into Student values(5, '周梅' , '1991-12-01' , '女');
insert into Student values(6, '吴兰' , '1992-03-01' , '女');
insert into Student values(7, '郑竹' , '1989-07-01' , '女');
insert into Student values(8, '王菊' , '1990-01-20' , '女');
课程表测试数据 (课程编号,课程名,任课教师编号):
insert into Course values(1, '语文' , 2);
insert into Course values(2, '数学' , 1);
insert into Course values(3, '英语' , 3);
教师表测试数据 (教师编号,教师名):
insert into Teacher values(1 , '张三');
insert into Teacher values(2 , '李四');
insert into Teacher values(3 , '王五');
成绩表测试数据 (成绩编号,课程编号,成绩)
insert into Score values(1 , 1 , 80);
insert into Score values(1 , 2 , 90);
insert into Score values(1 , 3 , 99);
insert into Score values(2 , 1 , 70);
insert into Score values(2 , 2 , 60);
insert into Score values(2 , 3 , 80);
insert into Score values(3 , 1 , 80);
insert into Score values(3 , 2 , 80);
insert into Score values(3 , 3 , 80);
insert into Score values(4 , 1 , 50);
insert into Score values(4 , 2 , 30);
insert into Score values(4 , 3 , 20);
insert into Score values(5 , 1 , 76);
insert into Score values(5 , 2 , 87);
insert into Score values(6 , 1 , 31);
insert into Score values(6 , 3 , 34);
insert into Score values(7 , 2 , 89);
insert into Score values(7 , 3 , 98);
练习题、sql语句、执行结果:
--1.查询语文成绩比数学成绩高的学生的信息以及课程分数
select a.* , b.s_score as chinese , c.s_score as math from
student a
join score b on b.c_id = 1 and a.s_id = b.s_id
left join score c on c.c_id = 2 and a.s_id = c.s_id where b.s_score > c.s_score;
运行结果:
--2.查询语文成绩比数学成绩低的学生的信息以及课程分数
select a.* , b.s_score as chinese , c.s_score as math from
student a
join score b on b.c_id = 1 and a.s_id = b.s_id
left join score c on c.c_id = 2 and a.s_id = c.s_id
where b.s_score < c.s_score;
运行结果:
--3.查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
select b.s_id , b.s_name,round(avg(a.s_score),1) as avg_score
from student b
join score a on b.s_id = a.s_id
group by b.s_id,b.s_name having round(avg(a.s_score),1)>=60;
运行结果:
--4.查询平均成绩小于60分的同学编号和学生姓名和平均成绩(包括有成绩和没有成绩的)
select b.s_id,b.s_name,round(avg(a.s_score)) as avg_score
from student b
left join score a on b.s_id = a.s_id
group by b.s_id,b.s_name having round(avg(a.s_score),2)<60
union
select a.s_id,a.s_name,0 as avg_score
from student a
where a.s_id not in (select distinct s_id from score);
运行结果:
-- 5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩
select a.s_id,a.s_name,count(b.c_id) as sum_course,sum(b.s_score) as sum_score
from student a
left join score b on a.s_id = b.s_id
group by a.s_id,a.s_name;
运行结果:
MYSQL笔试题(考试题)附带答案相关推荐
- MySQL笔试题练习及答案(一)
第一题 题目描述 查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为–,mysql为comment) CREATE TABLE empl ...
- 软件测试常见笔试题(附带答案)—初级篇01
软件测试笔试题 一.选择题 1.对计算机软件和硬件资源进行管理和控制的软件是(D) A.文件管理程序 B.输入输出管理程序 C.命令出来程序 D.操作系统 2.在没有需求文档和产品说明书的情况下只有哪 ...
- 中级软件测试笔试题100精讲_软件测试常见笔试题(附带答案)—初级篇01
软件测试笔试题 一.选择题 1.对计算机软件和硬件资源进行管理和控制的软件是(D) A.文件管理程序 B.输入输出管理程序 C.命令出来程序 D.操作系统 2.在没有需求文档和产品说明书的情况下只有哪 ...
- MySQL笔试题(附答案)
一.简答题 1.简述你们公司使用的MySQL版本,并说明具体小版本及GA时间? 5.6.38 5.7.20 2017-9-13 2.请介绍你熟悉的数据库的种类和代表产品名称? NoSQL:Redis ...
- 初级测试工程师面试笔试题(附带答案)
1.编写测试用例有哪几种方法? 答:大刚法.等价类.边界值.因果图.场景法.正交法.错误推断法.正则表达式 2.测试的六条基本法则是什么? 答:功能.可靠性.易用性.效率.可维护性.可移植性 3.软件 ...
- 软件测试工程师笔试题(附带答案)
软件测试题目 一. 判断题 (每题2分,20) 1.软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作. (初级) ( × ) 2.发现错 ...
- mysql笔试题15道
(93条消息) mysql笔试题18道_bubbleJessica的博客-CSDN博客 19.列出最低薪资大于1500的各种工作及从事此工作的全部雇员人数 SELECT JOB,COUNT(*) FR ...
- php如何对 mysql 中text类型拆分存入一个数组_PHP、Mysql笔试题
PHP&MySQL 笔试题 一.选择题 1. php代表什么意思?() A.Hypertext Preprocessor(超文本预处理器) B.Hyperlink Preprocessor(超 ...
- 常见的php笔试题(附答案)搜集整理
转载链接:http://www.yaojinbu.com/p/139.html 常见的php笔试题(附答案)搜集整理 1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在哪个预定义变量中?而 ...
- 东软 c语言笔试题,C语言笔试题及参考答案-东软集团(最新整理)
<C语言笔试题及参考答案-东软集团(最新整理)>由会员分享,可在线阅读,更多相关<C语言笔试题及参考答案-东软集团(最新整理)(7页珍藏版)>请在人人文库网上搜索. 1.C 语 ...
最新文章
- 网络分析概述之网络基础简介
- 用C语言解“求整数段和”题
- matlab下删除文件或文件夹
- 动态新增元素的js无效的解决方法
- wxWidgets:你好,世界
- 转载:ASP.NET中JSON的序列化和反序列化
- PE文件结构详解(二)可执行文件头
- linux 指定范围内查找文件,Linux Find命令查找指定时间范围内的文件的例子
- centos6.0的gnome桌面的一个大bug
- 关于background的一些知识
- 进程间通信方式有哪些?
- KUKA WorkVisual 编程教学
- 如何看出一个程序员的技术能力和水平?
- 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被
- RouterOS 自动拨号直至获得指定IP段IP的脚本
- C/C++学习笔记——C基础:C语言概述
- iOS adhoc 版本App 如何制作安装
- 数据湖和数据仓库区别介绍
- AMBA总线—APB总线协议详解
- 微信跳转外部浏览器下载