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,联合查询较少 希望与大家一起学习研 ...
随机推荐
- LOJ #2116 Luogu P3241「HNOI2015」开店
好久没写数据结构了 来补一发 果然写的时候思路极其混乱.... LOJ #2116 Luogu P3241 题意 $ Q$次询问,求树上点的颜色在$ [L,R]$中的所有点到询问点的距离 强制在线 询 ...
- 本地图片上传与H5适配知识
最近用到本地图片上传作为API的参数,在网上看了许多,记录一下,以后可能用的着(仅自己记录用,看不清请绕路) function getObjectURL(file) { var url = null ...
- Django的项目创建,以及该端口号,语言随地区而变化
注:myway是项目的名称创建项目:cd wwwdjango-admin startproject mywaycd mywaypython manage.py runserver 如果想改Django ...
- html 超链接标签 锚点 a标签伪类
一个简易的连接 <a href="01.html">01</a> <body> <a href="01.html" t ...
- Houdini SDF/Raymarching/等高曲面绘制
1 , SDF <1> union min(a,b) <2> intersect: max(a,b) <3> Substract a-b : if(b> ...
- JavaScript读取对象属性遇到的问题
JavaScript中对于对象的属性存取方式有两种:“.”操作和[]操作. “.”操作属性名通常直接写,[]操作中属性的名字通常要加引号, 而当需要读取的对象属性名是一个变量的时候,一般使用[]操作, ...
- 网络流24题 ——运输问题 luogu 4015
题目描述:这里 题面已经提示我们这是费用流了 那么由源点向所有仓库连边,容量为仓库原有货物量,费用为0 然后由所有零售商店向汇点连边,容量为一个零售商店的需求量,费用为0 最后由仓库向零售商店连边,容 ...
- SpringBoot系列二:SpringBoot自动配置原理
主程序类的注解 @SpringBootApplication 注解,它其实是个组合注解,源码如下: @Target({ElementType.TYPE}) @Retention(RetentionPo ...
- Linux查看设备命令
系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # ho ...
- python3 excel文件的读与写
from openpyxl import load_workbook class RwExcelFile: def read_Excel(self,file_path): ''' 读取excel中所有 ...