首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

MYSQL-01-作业题

2023-11-11 来源:华拓网
Navicat MySQL Data TransferSource Server : localhost_3306Source Server Version : 50719Source Host : localhost:3306Source Database : oldboTarget Server Type : MYSQLTarget Server Version : 50719File Encoding : 65001Date: 2017-07-26 15:46:16*/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-- ----------------------------INSERT INTO `class` VALUES (‘1‘, ‘三年二班‘);INSERT INTO `class` VALUES (‘2‘, ‘三年三班‘);INSERT INTO `class` VALUES (‘3‘, ‘一年二班‘);INSERT INTO `class` VALUES (‘4‘, ‘二年九班‘);-- ------------------------------ 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-- ----------------------------INSERT INTO `course` VALUES (‘1‘, ‘生物‘, ‘1‘);INSERT INTO `course` VALUES (‘2‘, ‘物理‘, ‘2‘);INSERT INTO `course` VALUES (‘3‘, ‘体育‘, ‘3‘);INSERT INTO `course` VALUES (‘4‘, ‘美术‘, ‘2‘);-- ------------------------------ 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-- ----------------------------INSERT INTO `score` VALUES (‘1‘, ‘1‘, ‘1‘, ‘10‘);INSERT INTO `score` VALUES (‘2‘, ‘1‘, ‘2‘, ‘9‘);INSERT INTO `score` VALUES (‘5‘, ‘1‘, ‘4‘, ‘66‘);INSERT INTO `score` VALUES (‘6‘, ‘2‘, ‘1‘, ‘8‘);INSERT INTO `score` VALUES (‘8‘, ‘2‘, ‘3‘, ‘68‘);INSERT INTO `score` VALUES (‘9‘, ‘2‘, ‘4‘, ‘99‘);INSERT INTO `score` VALUES (‘10‘, ‘3‘, ‘1‘, ‘77‘);INSERT INTO `score` VALUES (‘11‘, ‘3‘, ‘2‘, ‘66‘);INSERT INTO `score` VALUES (‘12‘, ‘3‘, ‘3‘, ‘87‘);INSERT INTO `score` VALUES (‘13‘, ‘3‘, ‘4‘, ‘99‘);INSERT INTO `score` VALUES (‘14‘, ‘4‘, ‘1‘, ‘79‘);INSERT INTO `score` VALUES (‘15‘, ‘4‘, ‘2‘, ‘11‘);INSERT INTO `score` VALUES (‘16‘, ‘4‘, ‘3‘, ‘67‘);INSERT INTO `score` VALUES (‘17‘, ‘4‘, ‘4‘, ‘100‘);INSERT INTO `score` VALUES (‘18‘, ‘5‘, ‘1‘, ‘79‘);INSERT INTO `score` VALUES (‘19‘, ‘5‘, ‘2‘, ‘11‘);INSERT INTO `score` VALUES (‘20‘, ‘5‘, ‘3‘, ‘67‘);INSERT INTO `score` VALUES (‘21‘, ‘5‘, ‘4‘, ‘100‘);INSERT INTO `score` VALUES (‘22‘, ‘6‘, ‘1‘, ‘9‘);INSERT INTO `score` VALUES (‘23‘, ‘6‘, ‘2‘, ‘100‘);INSERT INTO `score` VALUES (‘24‘, ‘6‘, ‘3‘, ‘67‘);INSERT INTO `score` VALUES (‘25‘, ‘6‘, ‘4‘, ‘100‘);INSERT INTO `score` VALUES (‘26‘, ‘7‘, ‘1‘, ‘9‘);INSERT INTO `score` VALUES (‘27‘, ‘7‘, ‘2‘, ‘100‘);INSERT INTO `score` VALUES (‘28‘, ‘7‘, ‘3‘, ‘67‘);INSERT INTO `score` VALUES (‘29‘, ‘7‘, ‘4‘, ‘88‘);INSERT INTO `score` VALUES (‘30‘, ‘8‘, ‘1‘, ‘9‘);INSERT INTO `score` VALUES (‘31‘, ‘8‘, ‘2‘, ‘100‘);INSERT INTO `score` VALUES (‘32‘, ‘8‘, ‘3‘, ‘67‘);INSERT INTO `score` VALUES (‘33‘, ‘8‘, ‘4‘, ‘88‘);INSERT INTO `score` VALUES (‘34‘, ‘9‘, ‘1‘, ‘91‘);INSERT INTO `score` VALUES (‘35‘, ‘9‘, ‘2‘, ‘88‘);INSERT INTO `score` VALUES (‘36‘, ‘9‘, ‘3‘, ‘67‘);INSERT INTO `score` VALUES (‘37‘, ‘9‘, ‘4‘, ‘22‘);INSERT INTO `score` VALUES (‘38‘, ‘10‘, ‘1‘, ‘90‘);INSERT INTO `score` VALUES (‘39‘, ‘10‘, ‘2‘, ‘77‘);INSERT INTO `score` VALUES (‘40‘, ‘10‘, ‘3‘, ‘43‘);INSERT INTO `score` VALUES (‘41‘, ‘10‘, ‘4‘, ‘87‘);INSERT INTO `score` VALUES (‘42‘, ‘11‘, ‘1‘, ‘90‘);INSERT INTO `score` VALUES (‘43‘, ‘11‘, ‘2‘, ‘77‘);INSERT INTO `score` VALUES (‘44‘, ‘11‘, ‘3‘, ‘43‘);INSERT INTO `score` VALUES (‘45‘, ‘11‘, ‘4‘, ‘87‘);INSERT INTO `score` VALUES (‘46‘, ‘12‘, ‘1‘, ‘90‘);INSERT INTO `score` VALUES (‘47‘, ‘12‘, ‘2‘, ‘77‘);INSERT INTO `score` VALUES (‘48‘, ‘12‘, ‘3‘, ‘43‘);INSERT INTO `score` VALUES (‘49‘, ‘12‘, ‘4‘, ‘87‘);INSERT INTO `score` VALUES (‘52‘, ‘13‘, ‘3‘, ‘87‘);-- ------------------------------ 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-- ----------------------------INSERT INTO `student` VALUES (‘1‘, ‘男‘, ‘1‘, ‘理解‘);INSERT INTO `student` VALUES (‘2‘, ‘女‘, ‘1‘, ‘钢蛋‘);INSERT INTO `student` VALUES (‘3‘, ‘男‘, ‘1‘, ‘张三‘);INSERT INTO `student` VALUES (‘4‘, ‘男‘, ‘1‘, ‘张一‘);INSERT INTO `student` VALUES (‘5‘, ‘女‘, ‘1‘, ‘张二‘);INSERT INTO `student` VALUES (‘6‘, ‘男‘, ‘1‘, ‘张四‘);INSERT INTO `student` VALUES (‘7‘, ‘女‘, ‘2‘, ‘铁锤‘);INSERT INTO `student` VALUES (‘8‘, ‘男‘, ‘2‘, ‘李三‘);INSERT INTO `student` VALUES (‘9‘, ‘男‘, ‘2‘, ‘李一‘);INSERT INTO `student` VALUES (‘10‘, ‘女‘, ‘2‘, ‘李二‘);INSERT INTO `student` VALUES (‘11‘, ‘男‘, ‘2‘, ‘李四‘);INSERT INTO `student` VALUES (‘12‘, ‘女‘, ‘3‘, ‘如花‘);INSERT INTO `student` VALUES (‘13‘, ‘男‘, ‘3‘, ‘刘三‘);INSERT INTO `student` VALUES (‘14‘, ‘男‘, ‘3‘, ‘刘一‘);INSERT INTO `student` VALUES (‘15‘, ‘女‘, ‘3‘, ‘刘二‘);INSERT INTO `student` VALUES (‘16‘, ‘男‘, ‘3‘, ‘刘四‘);-- ------------------------------ 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-- ----------------------------INSERT INTO `teacher` VALUES (‘1‘, ‘张磊老师‘);INSERT INTO `teacher` VALUES (‘2‘, ‘李平老师‘);INSERT INTO `teacher` VALUES (‘3‘, ‘刘海燕老师‘);INSERT INTO `teacher` VALUES (‘4‘, ‘朱云海老师‘);INSERT INTO `teacher` VALUES (‘5‘, ‘李杰老师‘);SET FOREIGN_KEY_CHECKS=1;View Code查询条件
1、查询所有的课程的名称以及对应的任课老师姓名 2、查询学生表中男女生各有多少人 3、查询物理成绩等于100的学生的姓名 4、查询平均成绩大于八十分的同学的姓名和平均成绩 5、查询所有学生的学号,姓名,选课数,总成绩 6、 查询姓李老师的个数 7、 查询没有报李平老师课的学生姓名 8、 查询物理课程比生物课程高的学生的学号 9、 查询没有同时选修物理课程和体育课程的学生姓名 10、查询挂科超过两门(包括两门)的学生姓名和班级 11 、查询选修了所有课程的学生姓名 12、查询李平老师教的课程的所有成绩记录 13、查询全部学生都选修了的课程号和课程名 14、查询每门课程被选修的次数 15、查询之选修了一门课程的学生姓名和学号 16、查询所有学生考出的成绩并按从高到低排序(成绩去重) 17、查询平均成绩大于85的学生姓名和平均成绩 18、查询生物成绩不及格的学生姓名和对应生物分数 19、查询在所有选修了李平老师课程的学生中,这些课程(李平老师的课程,不是所有课程)平均成绩最高的学生姓名

参考答案:

技术分享
1、SELECT cname,tname FROM course LEFT JOIN teacher on course.teacher_id=teacher.tid 2、SELECT gender 性别 ,COUNT(gender) 人数 from student GROUP BY gender; 3、SELECT sname from student where sid in (SELECT student_id from score LEFT JOIN course ON score.course_id=course.cid WHERE num=100 AND course.cname="物理"); 4、SELECT sname 姓名,平均成绩 from student RIGHT JOIN (SELECT student_id,avg(num) 平均成绩 from score GROUP BY student_id HAVING avg(num)>80) as A on student.sid=A.student_id; 5、SELECT student_id 学号,sname 姓名,COUNT(course_id) 课程数,SUM(num) 总分 FROM score LEFT JOIN student ON score.student_id=student.sid GROUP BY student_id; 7、SELECT * FROM student WHERE sid not in (SELECT student_id FROM score WHERE course_id in (SELECT cid FROM course LEFT JOIN teacher ON teacher.tid=course.teacher_id WHERE tname like "李平%")) 8、SELECT var cpro_id = "u6292429"; 

小编还为您整理了以下内容,可能对您也有帮助:

2021-01-02-Mysql(SQL题如果为null 则取上一条不为null的值)

首先把不为null的数据取出来放在数组中,接着对增加一个字段,如果为null,那么就为0否则为1 ,接着原表开窗(sum()) 取数组中arr[rn-1] 的数据

首先排除为null的,把时间lead上移.如果原表的时间在这个区间,那么就取这个区间的时间
发现join重复数据,采用了过滤为null的值,能否采用其他方法

2021-01-02-Mysql(SQL题如果为null 则取上一条不为null的值)

首先把不为null的数据取出来放在数组中,接着对增加一个字段,如果为null,那么就为0否则为1 ,接着原表开窗(sum()) 取数组中arr[rn-1] 的数据

首先排除为null的,把时间lead上移.如果原表的时间在这个区间,那么就取这个区间的时间
发现join重复数据,采用了过滤为null的值,能否采用其他方法

计算机二级mysql数据库模拟题及答案(2)

  练习题二

1) sp_helpdb 该代码的功能是:

A 返回数据库的基本信息

B 返回数据库的`使用空间

C 返回数据库的变量名称

D 返回数据库的表名

2) sp_helpdb中有这样一条信息:Updateability=Read_Write 该代码表示的正确含义是:

A 更新能力为可读可写

B 恢复模式为完整恢复

C 可用于所有用户

D 兼容级别

3) sp_helpdb中有这样一条信息:status = online 该代码表示的正确含义是:

A 表示数据库的状态为:可用于查询

B 表示数据库的状态为:正在还原数据库

C 表示数据库的状态为:数据库未恢复

D 表示数据库已被显示置于脱机状态

4) sp_helpdb中有这样一条信息:IsFulltextEnabled 该代码的正确含义是:

A 数据库自动生成统计信息

B 自动更新统计信息

C 数据库已启用全文功能。

D 数据库引擎检测信息

5) sp_helpdb中有这样一条信息:COMPATIBILITY_LEVEL =90 该代码表示的正确含义是:

A 数据库兼容级别是 2000

B 数据库兼容级别是 2005

C 数据库兼容级别是 2008

D 以上说法都不对

6) 数据定义语言中的 创建,修改,删除这三个英语单词 下列哪项才是完全正确的?

A 创建(create) , 修改(alter) , 删除(update)

B 创建(alter) , 修改(modify), 删除(drop)

C 创建(create) , 修改(alter) , 删除(drop)

D 创建(alter) , 修改(create), 删除(drop)

7) SQL 2005 的建表语句要写在______之内?

A { }

B [ ]

C ( )

D <>

8) 建表语句中的 not null,该代码表示的含义是:

A 允许空格B 非空约束

C 不允许写入数据

D 不允许读取数据

9) select * from student 该代码中的 * 号,表示的正确含义是:

A 普通的字符*号

B 错误信息

C 所有的字段名

D 模糊查询

10) 向数据表添加数据,哪些是添加的关键字?

A insert

B update

C delete

D select


更多计算机二级考试相关试题分享:

计算机二级mysql数据库模拟题及答案(2)

  练习题二

1) sp_helpdb 该代码的功能是:

A 返回数据库的基本信息

B 返回数据库的`使用空间

C 返回数据库的变量名称

D 返回数据库的表名

2) sp_helpdb中有这样一条信息:Updateability=Read_Write 该代码表示的正确含义是:

A 更新能力为可读可写

B 恢复模式为完整恢复

C 可用于所有用户

D 兼容级别

3) sp_helpdb中有这样一条信息:status = online 该代码表示的正确含义是:

A 表示数据库的状态为:可用于查询

B 表示数据库的状态为:正在还原数据库

C 表示数据库的状态为:数据库未恢复

D 表示数据库已被显示置于脱机状态

4) sp_helpdb中有这样一条信息:IsFulltextEnabled 该代码的正确含义是:

A 数据库自动生成统计信息

B 自动更新统计信息

C 数据库已启用全文功能。

D 数据库引擎检测信息

5) sp_helpdb中有这样一条信息:COMPATIBILITY_LEVEL =90 该代码表示的正确含义是:

A 数据库兼容级别是 2000

B 数据库兼容级别是 2005

C 数据库兼容级别是 2008

D 以上说法都不对

6) 数据定义语言中的 创建,修改,删除这三个英语单词 下列哪项才是完全正确的?

A 创建(create) , 修改(alter) , 删除(update)

B 创建(alter) , 修改(modify), 删除(drop)

C 创建(create) , 修改(alter) , 删除(drop)

D 创建(alter) , 修改(create), 删除(drop)

7) SQL 2005 的建表语句要写在______之内?

A { }

B [ ]

C ( )

D <>

8) 建表语句中的 not null,该代码表示的含义是:

A 允许空格B 非空约束

C 不允许写入数据

D 不允许读取数据

9) select * from student 该代码中的 * 号,表示的正确含义是:

A 普通的字符*号

B 错误信息

C 所有的字段名

D 模糊查询

10) 向数据表添加数据,哪些是添加的关键字?

A insert

B update

C delete

D select


更多计算机二级考试相关试题分享:

DAY01-mysql加强

SQL语言按照实现的功能不同,主要分为3类:数据操纵语言(DML),数据定义语言(DDL),数据控制语言(DCL)。

DISTINCT 关键字可以用于一列,也可以用于多列。

只有当job 和 deptno中的一条数据重复,才认为是重复的数据。

SELECT DISTINCT DEPTNO,JOB FROM emp

对 NUMBER 型数据 使用(+ - * /)算数操作符创建表达式;

对 DATE 型数据使用(+ -)算数操作符创建表达式。

-- 查询所有员工的年薪(使用别名) SELECT SAL*12 AS SALOFYEAR FROM emp

演示:

SELECT * FROM dept WHERE BINARY DNAME = 'sales'

= & != & <> & > & >= & < & <=

BETWEEN ... AND ...:在两值之间,闭区间包含

-- 查询工资在 2000-3000 之间的员工信息 SELECT * FROM emp WHERE SAL BETWEEN 2000 AND 3000

IN:匹配列出的值;如:IN(1, 2, 3, 4)

-- 查询工资为 800 或 1600 或 3000 的员工 SELECT * FROM emp WHERE SAL IN (800,1600,3000)

LIKE :匹配字符串模式 如:_ (占位符一个字符)、%(通配符多个字符)

-- 根据关键字模糊查询(员工名称和职位)根据sal 值查询 sal=800

SELECT * FROM emp WHERE (ENAME LIKE '%S%' OR JOB LIKE '%C%') AND SAL = 800 注意括号

IS NULL:是否为空

空值不等于零或空格,也不表示空字符串,也就是没有值

任何类型的字段都可以允许空值作为值的存在

包括空值的任何算术表达式都等于空

函数 IFNULL(expr1, expr2),若 expr1 不是 NULL,IFNULL() 返回expr1,否则它返回expr2

-- 查询所有员工的年薪((月薪 + 奖金) * 12)

SELECT (SAL + IFNULL(COMM,0)) * 12 FROM emp

AND:如果组合的条件都是 true,返回 true;

OR: 之一是 true ,返回 true;

NOT:如果下面的条件是 false,返回 true。

优先级规则:比较运算符 > NOT > AND > OR。

ASC:升序,缺省

DESC:降序

ORDER BY :其子句出现在 SELECT 语句后执行,

可以使用别名,但不能使用加了引号的别名或列名来排序,没有效果

需要查询的数据分散在多张表中,只有联合多张表才能查询出期望的数据

其意思:在数学中,假设集合 A = {a, b},集合 B = {0, 1, 2},则两个集合的笛卡尔积为 {(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

解决方案:在WHERE加入有效的连接条件 ----> 等值连接,注意:连接 n 张表,至少需要n - 1个连接条件。

SELECT [DISTINCT] * | 字段 [别名] [,字段 [别名] ,…]

FROM 表名称 [别名], [表名称 [别名] ,…]

[WHERE 条件(S)/等值连接]

[ORDER BY 排序字段 [ASC|DESC] [,排序字段 [ASC|DESC] ,…]];

可读性高

SELECT table1.column, table2.column

FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column2

WHERE 条件

解决什么:

SELECT table1.column, table2.column

FROM table1 LEFT [OUTER] JOIN table2 ON table1.column1 = table2.column2

WHERE 条件

SELECT table1.column, table2.column

FROM table1 RIGHT [OUTER] JOIN table2 ON(table1.column1 = table2.column2)

WHERE 条件

SELECT emp.EMPNO, emp.ENAME, emp.SAL, dept.DNAME FROM dept RIGHT JOIN emp ON emp.DEPTNO = dept.DEPTNO

查询的结果:没有的值就是null

单行函数:将每条数据进行的计算,然后每条数据得到一条结果;

多行函数:多条数据同时计算,最终得到一条结果数据。也成为聚集函数、分组函数,主要用于完成一些统计功能等等。

COUNT():查询表中的数据记录;

AVG():求出平均值;

SUM():求和;

MAX():求出最大值;

MIN():求出最小值。

-- 查询员工最高工资和最低工资差距

SELECT MAX(SAL) - MIN(SAL) FROM emp

把表分组,再进行操作

-- 按照职位分组,求出每个职位的最高和最低工资

SELECT JOB,MAX(SAL) max, MIN(SAL) min FROM emp GROUP BY JOB ORDER BY SAL

本地时间:

SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW()), HOUR(NOW()), MINUTE(NOW()), SECOND(NOW())

DATE_FORMAT(date, format):把日期转换为字符串。

按查询结果分类:

单行单列:只包含一个字段的查询,返回的查询结果也只包含一行数据;

多行单列:只包含了一个字段,但返回的查询结果可能多行或者零行;

多行多列:包含多个字段的返回,查询结果可能是单行或者多行,好比是一张表。

一般用于 WHERE 之后的子查询,子查询结果是一行一列记录。

使用单行记录比较运算符:=、>、>=、<、<=、<>。(单行单列才能用)

-- 查询出工资比 MARTIN 还要高的全部雇员信息

SELECT * FROM emp WHERE sal > (SELECT sal FROM emp WHERE ename = 'MARTIN')

一般也用于 WHERE 子句中,子查询结果只有一列,但是有多行。

IN:与列表中的任意一个值相等

-- 查询工资等于部门经理(职位是 MANAGER)的员工信息。

SELECT * FROM emp WHERE SAL IN (SELECT SAL FROM emp WHERE JOB = 'MANAGER')

-- 查询出每个部门的编号、名称、部门人数、平均工资 部门名称

SELECT e.DEPTNO, d.DNAME, COUNT(*), AVG(e.SAL), e.ENAME FROM emp e JOIN dept d ON e.DEPTNO = d.DEPTNO GROUP BY e.DEPTNO

星期天MYSQL作业题,求教啊啊啊啊,老师就讲了2天,完全不知道怎么写。

查询c01号课程最高分
select max(Grade) from sc where Cno='c01'
查询所有学生选修的课程(如果cno不是课程号再改)
select cno,cname from course where cno in(select Cno from SC GROUP BY Cno)
平均是AVG 求和是SUM 最高是max最低是min
select * from 学生基本档案 where 年龄 in (select 年龄 from 学生基本档案 group by 年龄 having count(*)>1)

星期天MYSQL作业题,求教啊啊啊啊,老师就讲了2天,完全不知道怎么写。

查询c01号课程最高分
select max(Grade) from sc where Cno='c01'
查询所有学生选修的课程(如果cno不是课程号再改)
select cno,cname from course where cno in(select Cno from SC GROUP BY Cno)
平均是AVG 求和是SUM 最高是max最低是min
select * from 学生基本档案 where 年龄 in (select 年龄 from 学生基本档案 group by 年龄 having count(*)>1)

哪位大侠可以提供一些mysql数据库的题库,一定要带答案的!将感激不尽!!

一、不定项选择题(共40题,每小题2.5分,总分100分)

1. 数据库管理系统的发展历经了如下那些模型阶段( ACDE )

A. 层次模型 B. 结构模型 C. 关系模型

D. 网状模型 E.对象模型

2. 关系型数据库的核心单元是( B )

A. 对象 B. 表

C. 行 D. 列

3. 对于关系型数据库来说,表之间存在下面那些关系( ABC )

A. 一对一关系 B. 一对多关系

C. 多对多关系 D. 继承关系

4. 在SQL中,下面对于数据定义语言(DDL)描述正确的是( D )。

A. DDL关心的是数据库中的数据 B. 完成数据的增、删、改、查操作

C. 控制对数据库的访问 D. 定义数据库的结构

5. MySQL是一种( C )数据库管理系统。

A. 层次型 B. 网络型 C. 关系型 D. 对象型

6. SQL中,下列操作有语法错误的是( B )

A. AGE IS NOT NULL B. NOT(AGE IS NULL)

C. SNAME=‘王五’ D. SNAME=‘王%’

7. SQL中,下列关于创建、管理数据库的操作语句不正确的是( CDE )

A. CREATE DATABASE Instant B. USE Instant C. NEW DATABASE Instant

D. Connection Instant E. Delete DATEBASE Instant

8. 在MySQL中,不存在的数据类型是( F )。

A. INT B. TEXT C. DECIMAL

D. VARCHAR E. DATETIME F. VARCHAR2

9. 在MySQL中,下列关于创建数据库表的描述正确的是( C )。

A. 在创建表时必须设定列的约束

B. 在删除表的时候通过外键约束连接在一起的表会被一同删除

C. 在创建表时必须设置列类型

D. 通过CREATE TABLE new_t SELECT * FROM old_t复制表的同时,表的约束能够一起被复制到新表中

10. 根据数据完整性实施的方法,可以将其分为( ACDF )

A. 实体完整性 B. 表完整性 C.域完整性

D. 引用完整性 E. 记录完整性 F.用户自定义完整性

11. 下面关于域完整性的方法,不正确的是( A )。

A. 主键约束 B. 外键约束 C.检查约束

D. 非空约束 E. 默认值

12. 下面关于创建和管理索引正确的描述是( C )。

A. 创建索引是为了便于全表扫描

B. 索引会加快DELETE、UPDATE和INSERT语句的执行速度

C. 索引被用于快速找到想要的记录

D. 大量使用索引可以提高数据库的整体性能

13. SQL中,“AGE IN(20,22)”的语义是( D )。

A. AGE<=22 AND AGE >=20 B. AGE <22 AND AGE >20

C. AGE =20 AND AGE =22 D. AGE =20 OR AGE =22

14. 有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( C )

A. 实体完整性约束 B. 参照完整性约束

C. 用户自定义完整性约束 D. 关键字完整性约束

15. 下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:( B )

Select stu_id,subId,count(*) as x

From t_exam

Where ex_date=’2008-08-08’

Group stu_id,subId

Having count(*)>1

Order by x desc

A. 找出’2008-08-08’这天某科考试2次及以上的学生记录

B. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面

C. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面

D. 根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面

16. EMP表如下所示,下面哪些SQL语句的返回值为3:( BD )

EMP

雇员号 雇员名 部门号 工资 

001  张山  02   2000

010  王宏达 01   1200

056  马林生 02   1000

101  赵敏 04  

A. select count(*) from emp

B. select count(distinct 部门号) from emp

C. select count(*) from emp group by 雇员号

D. select count(工资) from emp

17. 下面那一项不是SELECT语句对数据的操作:( D )

A. 投影 B. 联接 C. 并 D. 级联

18. 下面关于SQL数据查询操作描述正确的有:( ABD )

A. 投影操作是选择对表中的哪些列进行查询操作

B. 使用DISTINCT关键字可以过滤查询中重复的记录

C. 在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符

D. 在MySQL中使用LIMIT关键字从数据库中返回记录的行数

19. 在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( A )。

A. 包括20岁和30岁 B. 不包括20岁和30岁

C. 包括20岁,不包括30岁 D. 不包括20岁,包括30岁

20. SQL语言中,删除EMP表中全部数据的命令正确的是( C )。

A. delete * from emp B. drop table emp

C. truncate table emp D. 没有正确答案

21. 有关索引的说法错误的是( AD )

A. 索引的目的是为增加数据操作的速度

B. 索引是数据库内部使用的对象

C. 索引建立得太多,会降低数据增加删除修改速度

D. 只能为一个字段建立索引

22. 下列哪个关键字在Select语句中表示所有列( A )

A. * B. ALL C. DESC D. DISTINCT

23. 在表中设置外键实现的是哪一类数据完整性( B )

A. 实体完整性 B. 引用完整性

C. 用户定义的完整性 D. 实体完整性、引用完整性和用户定义的完整性

24. 下面正确表示Employees表中有多少非NULL的Region列的SQL语句是( B )

A. SELECT count(* ) from Employees

B. SELECT count(ALL Region) from Employees

C. SELECT count(Distinct Region) from Employees

D. SELECT sum(ALL Region) from Employees

25. 下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是( C )

A. WHERE子句 B. GROUP BY子句

C. HAVING 子句 D. ORDER BY子句

26. t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入null。能够获取各位学生的平均成绩的选项是( A )

A. select avg(nvl(socre,0)) from score group by stu_id

B. select stu_id,avg(sorce) from score

C. select stu_id,avg(score) from score

D. select stu_id,sum(score)/count(score) from score

27. 若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的( B )

A. SELECT Sno,SNAME FROM S WHERE SNAME=′王%′

B. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王%′

C. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王_′

D. 全部

28. 若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是( B )

A. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*)> 3

B. SELECT Sno FROM SC GROUP BY Sno HAVING( COUNT(*)> 3)

C. SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*)> 3

D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)>= 3

29. 对下面的查询语句描述正确的是( D )

Select StudentID,Name,

(select count(*) from StudentExam

where StudentExam.StudentID = Student.StudentID) as ExamsTaken

from Student

order by ExamsTaken desc

A. 从Student表中查找StudentID和Name,并按照升序排列

B. 从Student表中查找StudentID和Name,并按照降序排列

C. 从Student表中查找StudentID、Name和考试次数

D. 从Student表中查找StudentID、Name,并从StudentExam表中查找与StudentID一致的学生考试次数,并按照降序排列

30. 下面题基于学生-课程数据库中的三个基本表:

学生信息表:s(sno, sname, sex, age, dept) 主键为sno

课程信息表:c(cno, cname, teacher) 主键为cno

学生选课信息表:sc(sno, cno, grade) 主键为(sno, cno)

“从学生选课信息表中找出无成绩的学生信息”的SQL语句是( C d )

A.

SELECT * FROM sc WHERE grade=NULL

B.

SELECT * FROM sc WHERE grade IS ‘ ’

C.

SELECT * FROM sc WHERE grade IS NULL

D.

SELECT * FROM sc WHERE grade =‘ ’

31. 当子查询返回多行时,可以采用的解决办法是( C )。

A. 使用聚合函数 B. Where条件判断

C. 使用IN运算符 D. 使用Group by进行分组

32. 下面关于在子查询中使用运算符描述不正确的是( D )。

A. 使用IN运算符用于查找字段值属于某一组值的行

B. 使用Exists运算符用于测试子查询是否返回行,如果返回其值就为真

C. 使用ALL运算符用于测试子查询结果集的所有行是否满足指定的条件

D. 使用Any运算符用于测试子查询结果集中的一行或多行不满足指定的条件

33. 下面关于组合查询描述不正确的是( D )。

A. 从一个表中获取的数据必须和其它表中的数据具有相同的列数

B. 两个表中相对应的列必须具有相同的数据类型

C. UNION的结果集列名与第一个SELECT语句的结果集中的列名相同

D. UNION的结果集列名与第二个SELECT语句的结果集中的列名相同

E. UNION ALL运算符返回每个数据集的所有成员

34. 下面关于联接的描述正确的是( A )。

A. 内联接使用比较运算符根据每个表共有的列值来匹配两个表中的行

B. 左外联接结果集包含从右边的表返回的所有行

C. 右外联接结果集包含从左边的表返回的所有行

D. 全外联接返回左表和右表中的所有匹配的行

35. 下面关于数据库设计过程正确的顺序描述是( C )。

A. 需求收集和分析、逻辑设计、物理设计、概念设计

B. 概念设计、需求收集和分析、逻辑设计、物理设计

C. 需求收集和分析、概念设计、逻辑设计、物理设计

D. 需求收集和分析、概念设计、物理设计、逻辑设计

36. ER图属于下面哪一种数据库设计模型( B )。

A. 物理数据模型

B. 概念数据模型

C. 逻辑数据模型

D. 需求模型

37. 非主键必须完全依赖于主键列,这属于下列范式的内容( BC )

A. 1NF B. 2NF C. 3NF D. 都没有的

38. 如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( B )。

A. PK(主键) B. FK(外键) C. UK(唯一键) D. 复合主键

39. 根据三个范式的定义,下面哪个选项的设计是正确的( C )

职工编号 姓名 工种 车间 车间主任

1001 李宁 车工 一车间 周杰

1002 王海 铣工 一车间 周杰

1003 赵亮 钳工 二车间 吴明

1001 李宁 钳工 二车间 吴明

A. 员工表、工种表、车间表

B. 员工表、工种表、车间表、车间主任表

C. 员工表、工种表、车间表、员工工种表、员工车间表

D. 以上设计均不正确

40. 下列说法中,哪些是正确的( BD )

A. RDBMS是数据库管理系统的简称

B. 各行记录都不能重复,是第二范式要求的

C. 在数据库设计中一定要满足第三范式

D. 索引越多,查询越快,数据更新越慢

2018年计算机二级考试MySQL试题及答案一

   2018年计算机二级考试MySQL试题及答案一

  一、选择题

  1、在MySQL中,通常使用________语句来指定一个已有数据库作为当前工作数据库。

  A.USING

  B.USED

  C.USES

  D.USE

  2、下列________类型不是MySQL中常用的的数据类型。

  A.INT

  B.VAR

  C.TIME

  D.CHAR

  3、可用于从表或视图中检索数据的SQL语句是________。

  A.SELECT语句

  B.INSERT语句

  C.UPDATE语句

  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

  二、填空题

  1、在MySQL中,通常使用_________值来表示一个列植没有值或缺值的情形。

  2、在CREATE TABLE语句中,通常使用________关键字来指定主键。

  3、MySQL数据库所支持的SQL语言主要包含_______、_______、_________和MySQL扩展增加的语言要素几个部分。

  4、在MySQL的安装过程中,若选用“启用TCP/IP网络”,则MySQL会默认选用的端口号是________。

  5、MySQL安装成功后,在系统中回默认建立一个________用户。

  6、MySQL安装包含典型安装、定制安装和________三种安装类型。

  7、在MySQL中,可以使用INSERT或________语句,向数据库中一个已有的表插入一行或多行元组数据。

  8、在MySQL中,可以使用________语句或________语句删除表中的一行或多行数据。

  9、在MySQL中,可以使用________语句来修改、更新一个表或多个表中的数据。

  10、SELECT语句的执行过程是从数据库中选取匹配的特定________和________,并将这些数据组织成一个结果集,然后以一张________的形式返回。

  参:

  1.NULL  2.PRIMARY KEY 3.数据定义语言(DDL)数据操纵语言(DML)数据控制语言(DCL)

  4.3306 5.root 6.完全安装 7.REPLACE

  8. DELETE TRANCATE 9.UPDATE  10.行列 临时 表

显示全文