MYSQL基础查询语言试题,请大家帮我做一下,谢谢了! 200分!!

1、使用grade.sql脚本在mysql数据库中创建学生成绩表,完成以下SQL查询:

1)查询单科分数最高的人。

2)查询两门分数加起来的第2至5名。

3)查询两门总分数在150分以下的人。

4)查询两门平均分数介于60和80的人(不包括60和80)。

5)查询总分大于150分,平均分小于90分的人数。

6)查询总分大于150分,平均分小于90分的人数有几个。

-- 学生成绩表
DROP TABLE if EXISTS grade;
create table `grade` (
`id` double PRIMARY KEY, -- 编号
`name` varchar (300), -- 姓名
`score` double -- 分数
);

insert into `grade` (`id`, `name`, `score`) values('1','n1','59');
insert into `grade` (`id`, `name`, `score`) values('2','n2','66');
insert into `grade` (`id`, `name`, `score`) values('3','n3','78');
insert into `grade` (`id`, `name`, `score`) values('4','n1','48');
insert into `grade` (`id`, `name`, `score`) values('5','n3','85');
insert into `grade` (`id`, `name`, `score`) values('6','n5','51');
insert into `grade` (`id`, `name`, `score`) values('7','n4','98');
insert into `grade` (`id`, `name`, `score`) values('8','n5','53');
insert into `grade` (`id`, `name`, `score`) values('9','n2','67');
insert into `grade` (`id`, `name`, `score`) values('10','n4','88');

USE test;
DROP TABLE if EXISTS grade;
    create table `grade` (  
       `id` int PRIMARY KEY,        
       `name` varchar (300),           
       `score` double                  
    );   
    
    insert into `grade` (`id`, `name`, `score`) values('1','n1','59');  
    insert into `grade` (`id`, `name`, `score`) values('2','n2','66');  
    insert into `grade` (`id`, `name`, `score`) values('3','n3','78');  
    insert into `grade` (`id`, `name`, `score`) values('4','n1','48');  
    insert into `grade` (`id`, `name`, `score`) values('5','n3','85');  
    insert into `grade` (`id`, `name`, `score`) values('6','n5','51');  
    insert into `grade` (`id`, `name`, `score`) values('7','n4','98');  
    insert into `grade` (`id`, `name`, `score`) values('8','n5','53');  
    insert into `grade` (`id`, `name`, `score`) values('9','n2','67');  
    insert into `grade` (`id`, `name`, `score`) values('10','n4','88');

首先将上面内容保存在一个名字叫grade.sql 的文件里面,上面我私自修改了id的类型,实在看不下去了。然后登陆数据库使用mysql> source C:/grade.sql;

     select name,max(score) from grade;

     select name,sum(score)  from grade group by name order by score desc limit 1,5;

    select name,sum(score) as tot from grade  group by name having tot<150;

    select name,avg(score) as scavg from grade group by name having scavg < 80 and scavg > 60 ;

    select name from grade group by name having sum(score) > 150 and avg(score) < 90;这个应该是查询人吧,6才是查询人数吧

    亲测有效

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-26
你这数据库哪里体现两门功课了?追问

你把代码导入到工具呀?我开始也疑惑,但是你建上面的name下面,有重复的n1,n2等等,所以这应该标明这个人考了几科成绩呀。帮我做做,谢谢了。小弟实在不怎么会查询语句。

追答

直观看就能解题了。对我来说,不需要建具体的表。

但是,数据库有问题,如果按你所说的,比如
insert into `grade` (`id`, `name`, `score`) values('1','n1','59');
insert into `grade` (`id`, `name`, `score`) values('4','n1','48');

insert into `grade` (`id`, `name`, `score`) values('2','n2','66');
insert into `grade` (`id`, `name`, `score`) values('9','n2','67');

怎么才能区分是哪一科的?如果区分不了,单科成绩的查询没办法做。总分和平均分按你说的倒是OK。

追问

单科一样可以做呀,怎么区分哪一科,那个id就是科目呀。一共10个科目,name就表示考试的学生。

追答

不对吧?十个科目?每个人只分别考两科?你这思路有点儿乱。原始需求是什么,你真的清楚?不清楚的话,答不了题啊。同志。

追问

你难道不会? 这不很清楚了吗? 完全可以完成题目的需求你纠结那些干什么?

追答

看来我是真不会。你说有十门科目。从题目上来说,要么查询一科,要么查询两科。等别人来答吧。我也看看。^^

追问

好吧 你真不会。竟然这么死板。题目有叫你查询2科以上了吗? 这个只是按照题目的去求解答而已。

第2个回答  推荐于2017-09-13
select max(score) from grade
select sum(score) from grade group by name limit(2,4)
select sum(score) from grade group by name where sum(score) < 150
select name,avg(sum(score)) from grade group by name where avg(sum(score)) > 60 and avg(sum(score)) < 80
select name,avg(sum(score)) from grade group by name where avg(sum(score)) < 90 and sum(score) > 150
select count(*) from grade group by name where avg(sum(score)) < 90 and sum(score) > 150本回答被提问者和网友采纳

2017年12月计算机二级MySQL模拟试题及答案(3)
D.DELETE语句 4、SQL语言又称___。A.结构化定义语言 B.结构化控制语言 C.结构化查询语言 D.结构化操纵语言 5、下列语句中,___不是表数据的基本操作语句。A)CREATE语句 B)INSERT语句 C)DELETE语句 D)UPDATE语句 参考答案:1.D 2.B 3.A 4.C 5.A ...

求最新的笑话数据库,数量越多越好,最好是MySQL导出的,可以加分哦
警察甲:嗯,还有呼吸,我们帮他把头转回来吧。警察乙:好...一、二使劲,

面试官:MySQL是如何执行一条查询语句的?
词法分析就是把一个完整的SQL语句打碎成一个个的单词。 比如一个简单的SQL语句:selectnamefromuserwhereid=1andage>20; 它会将select识别出来,这是一个查询语句,接下来会将user也识别出来,你是想要在这个表中做查询,然后将where后面的条件也识别出来,原来我需要去查找这些内容。语法分析 语法分析会对SQL做一些语...

MySQL分页的sql语言怎么写?
1、首先我们建立一个表表的数据,这个表里有25条数据,id从1到25。(下图是部分截图)2、要分页数据,首先我们假设一页有10条数据,我们可以用mysql的 limit关键字来限定返回多少条数据。并且用order by来排序数据,这里用 id来排序。所以第一页的sql可以如图这样写。3、执行后得到的数据如图,就是 ...

数据分析面试!SQL常见的SQL面试题:经典100道
SQL基础知识SQL,全称结构化查询语言,是一种用于管理关系型数据库的标准语言。它具有数据查询(DQL)、数据操作(DML)、数据定义(DDL)、事务控制(TCL)和数据控制(DCL)等功能。例如,通过SELECT语句获取数据,INSERT、UPDATE和DELETE用于数据操作,CREATE、ALTER和DROP定义数据库结构,COMMIT和ROLLBACK管理事务,...

计算机基础语言(急求)
通常用后一种。 我们使用的C语言就是使用的后者。 3、专用语言 CAD系统中的绘图语言和DBMS的数据库查询语言。 1.1.机器语言 电子计算机所使用的是由0和1组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0和1...

全国计算机二级考试考什么内容?
一、信息扫盲 俗话说“磨刀不误才柴工”,在正式备考之前一定做好考试相关信息搜集的准备。 1、考试科目 计算机二级从大类型上看主要分为数据库类、语言类和办公软件类,具体点讲 数据库类:Access数据库程序设计、MySQL数据库程序设计 语言类:C语言、Java、C++、web、Python假设办公软件类:WPS office高级应用与设计q...

SQL数据库语句大全
根据SQL语句执行后是否返回记录集,该方法的使用格式分为以下两种: 1.执行SQL查询语句时,将返回查询得到的记录集。用法为: Set 对象变量名=连接对象.Execute("SQL 查询语言") Execute方法调用后,会自动创建记录集对象,并将查询结果存储在该记录对象中,通过Set方法,将记录集赋给指定的对象保存,以后对象变量就代表了...

Python语言10分钟图(python50图)
怎样才能学好python语言? 第一:道——明确目标 其实很多人在学习Python之前很少想这个,因为很多人说:现在Python很火呀,所以我么需要学。这个其实跟你自己没有什么关系,例如:你曾经想做一个网站不会开发,现在可以做了,现在Python很火并且你也要学来找工作,未来Python很火,我具备了Python的技能会不错。 在一生中,...

计算机专业学了快一年,只会一点C语言,你还说自己是IT专业的?
1.《MySQL必知必会》 这本书讲的非常全,从基本概念,到查询到插入新建表,用户的管理,都有具体的例子,非常适合没有任何基础的同学来学习Mysql,总之这本书学习的方法就是:1、十分钟了解下数据库的基本概念 2、找到练手的数据库 3、对照着上面的内容去敲。本书里也有大量的内容是讲sql的,可以结合w3c的sql教程一...

相似回答