mysql 查询 练习题及答案
CREATE DATABASE school;
USE school;
/*1.创建student表格*//*id为主键 非空 唯一 */
CREATE TABLE student (id INT(10) PRIMARY KEY NOT NULL UNIQUE,
uname VARCHAR(20) NOT NULL,
sex VARCHAR(4),
birth YEAR,
department VARCHAR(20),
address VARCHAR(50));
/*1.创建score表格*/
CREATE TABLE score (id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
stu_id INT(10) NOT NULL,
c_name VARCHAR(20),
grade INT(10));
/*2.为student表格与score表格增加记录*/
INSERT INTO student VALUES (901,'张老大', '男',1985,'计算机系', '北京市海淀区'),
(902,'张老二', '男',1986,'中文系', '北京市昌平区'),
(903,'张三', '女',1990,'中文系', '湖南省永州市'),
(904,'李四', '男',1990,'英语系', '辽宁省阜新市'),
(905,'王五', '女',1991,'英语系', '福建省厦门市'),
(906,'王六', '男',1988,'计算机系', '湖南省衡阳市');
INSERT INTO score VALUES (NULL,901, '计算机',98),
(NULL,901, '英语', 80),
(NULL,902, '计算机',65),
(NULL,902, '中文',88),
(NULL,903, '中文',95),
(NULL,904, '计算机',70),
(NULL,904, '英语',92),
(NULL,905, '英语',94),
(NULL,906, '计算机',90),
(NULL,906, '英语',85);
/*3.查询student表的所有记录*/
SELECT * FROM student;
/*4.查询student表的第2条到4条记录*/
SELECT * FROM student LIMIT 1,3;
/*5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息*/
SELECT id,uname,department FROM student;
/*6.从student表中查询计算机系和英语系的学生的信息*/
SELECT * FROM student WHERE department IN('计算机系','英语系');
/*7.从student表中查询年龄18~22岁的学生信息*/
SELECT id,uname,sex,2019-birth,department,address FROM student
WHERE 2019-birth BETWEEN 24 AND 28;
/*或*/
SELECT id,uname,sex,2019-birth,department,address FROM student
WHERE 2019-birth>=24 AND 2019-birth<=28;
/*8.从student表中查询每个院系有多少人 */
SELECT department,COUNT(id) FROM student GROUP BY department;
/*9.从score表中查询每个科目的最高分*/
SELECT c_name,MAX(grade) FROM score GROUP BY c_name;
/*10.查询李四的考试科目(c_name)和考试成绩(grade)*/
SELECT c_name,grade FROM score WHERE stu_id=(SELECT id FROM student WHERE uname ='李四');
/*用连接的方式查询所有学生的信息和考试信息*/
SELECT student.id,uname,sex,birth,department,address,c_name,grade
FROM student,score WHERE student.id = score.stu_id;
/*12.计算每个学生的总成绩*/
SELECT student.id,uname,SUM(grade) FROM student,score
WHERE student.id = score.stu_id GROUP BY id;
/*13.计算每个考试科目的平均成绩*/
SELECT c_name,AVG(grade) FROM score GROUP BY c_name;
/*14.查询计算机成绩低于95的学生信息*/
SELECT * FROM student WHERE id IN (SELECT stu_id FROM score WHERE c_name='计算机' AND grade<95);
/*15.查询同时参加计算机和英语考试的学生的信息*/
SELECT * FROM student WHERE id = ANY
(SELECT stu_id FROM score WHERE stu_id IN
(SELECT stu_id FROM score WHERE c_name='计算机') AND c_name='英语');
#或
SELECT a.* FROM student a,score b ,score c WHERE a.id = b.stu_id
AND b.c_name='计算机' AND a.id = c.stu_id AND c.c_name='英语';
/*16.将计算机考试成绩按从高到低进行排序*/
SELECT stu_id,grade FROM score WHERE c_name='计算机' ORDER BY grade DESC;
/*17.从student表和score表中查询出学生的学号,然后合并查询结果*/
SELECT id FROM student UNION SELECT stu_id FROM score;
/*18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩*/
SELECT student.id,uname,sex,birth,department,address,c_name,grade
FROM student,score WHERE (uname LIKE '张%' OR uname LIKE '王%') AND student.id=score.stu_id;
/*19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩*/
SELECT student.id,uname,sex,birth,department,address,c_name,grade
FROM student,score WHERE student.address LIKE '湖南%' AND student.id = score.stu_id;
mysql 查询 练习题及答案的更多相关文章
- MySQL经典练习题及答案,常用SQL语句练习50题
表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id ...
- mysql查询练习题-2016.12.16
>>>>>>>>>> 练习时间:2016.12.16 编辑时间:2016-12-20-->22:12:08 题: 涉及:多表查询.ex ...
- Qracle、Sql server 、mysql查询练习题
1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 fro ...
- mysql查询练习题
建库建表 a.建立一个公司数据库(gongsi) CREATE DATABASE gongsi b.建立一张部门表(部门编号b_id,部门名称b_name) , 其中b_ ...
- 2016/3/16 45道MySQL 查询练习题
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- MySQL练习题参考答案
MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...
- s15day12作业:MySQL练习题参考答案
MySQL练习题参考答案 导出现有数据库数据: mysqldump -u用户名 -p密码 数据库名称 >导出文件路径 # 结构+数据 mysqldump -u用户名 -p ...
- MySQL练习题及答案(复习)
新建一个叫做 review 的数据库,将测试数据脚本导进去.(可以使用Navicat查询功能) /* Navicat MySQL Data Transfer Source Server : DB So ...
- 50道SQL练习题及答案与详细分析(MySQL)
50道SQL练习题及答案与详细分析(MySQL) 网上的经典50到SQL题,经过一阵子的半抄带做,基于个人理解使用MySQL重新完成一遍,感觉个人比较喜欢用join,联合查询较少 希望与大家一起学习研 ...
随机推荐
- 4.Centos7安装JDK8以及环境配置
1.下载 linux 版本 jdk (jdk-8u11-linux-x64.tar.gz) 一定要是 .tar.gz 版本,可以去我的百度网盘下载或者在百度上面找 2.新建文件夹命令:mkdir /u ...
- pl/sql dev安装
转载: https://www.cnblogs.com/moly/p/8287091.html https://www.cnblogs.com/wuxiaokai/p/5032984.html 安装: ...
- vlan 知识学习
背景 有人反映打印机总是提示ip冲突,经检查,打印机虽然设置了固定ip,但是所有员工在路由器都是设置了DHCP,所以会存在员工占用打印机IP 情况,在路由器添加某一段的ip不自动分配解决此问题 ...
- linux下 vi命令编辑/etc/my.cnf
把my.cnf配置文件加个max_connections包括(插入命令,删除命令,修改命令.退出保存命令) 你要有这个文件写权限,shell下输入: vi /etc/my.cnf 进入vi后,按i移动 ...
- OpenCV中Mat总结
一.数字图像存储概述 数字图像存储时,我们存储的是图像每个像素点的数值,对应的是一个数字矩阵. 二.Mat的存储 1.OpenCV1基于C接口定义的图像存储格式IplImage*,直接暴露内存,如果忘 ...
- 【原创】大叔问题定位分享(27)spark中rdd.cache
spark 2.1.1 spark应用中有一些task非常慢,持续10个小时,有一个task日志如下: 2019-01-24 21:38:56,024 [dispatcher-event-loop-2 ...
- 行为驱动:Cucumber + Selenium + Java(一) - Cucumber简单操作实例
场景(Scenarios) 场景是Cucumber结构的核心之一.每个场景都以关键字“Scenario:”(或本地化一)开头,后面是可选的场景标题.每个Feature可以有一个或多个场景,每个场景由一 ...
- php 1转成一
function numToWord($num) { $chiNum = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); $chiUn ...
- iis7 设置自定义404页面无效解决方案
想给自己做的的网站自定义一个404页面,开始 双击红框提示的错误页图标 双击上图红框提示的所示404行 修改上图红框提示的内容如下:我是直接在根目录放了一个自己做的404.html,实际情况要填写你自 ...
- 使用Java方式连接HDFS
IDEA中新建Maven工程,添加POM依赖, 在IDE的提示中, 点击 Import Changes 等待自动下载完成相关的依赖包. <?xml version="1.0" ...