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,联合查询较少 希望与大家一起学习研 ...
随机推荐
- javascript中Math函数的属性与方法
math函数的属性 Math.PI:返回圆周率. math函数的方法 绝对值: Math.abs(); 对数进行上舍入: Math.ceil(); 对数进行下舍入: Math.floor(); Mat ...
- jQuery 第六章 jQuery在Ajax应用
1.本章目标 ajax 2.ajax 异步刷新技术,我们的网页不需要全部刷新,按需实现局部刷新,上线后台的交互 用户体验好 地图,前台验证,表单提交,修改,查询等等 原生的js和ajax packag ...
- 方法的覆盖(override)
- json server服务器
json文件可以理解为数据库 一.json-server快速搭建RESTAPI 安装: sudo cnpm install -g json-server 启动(使用): json-server指向js ...
- kvm虚拟化2-qemu-kvm
Kvm 只支持x86 64的硬件虚拟化 要求cpu必须支持硬件虚拟化 HVM Kvm两个组件: 1 kvm.ko模块装入后为/dev/kvm 工作为hypervisor ,在用户空间通过系统调 ...
- JS语法转换-ES6转ES5
1.使用Babel转码 全局安装 npm install -g babel-cli 布局安装 npm install -g babel-cli --save-dev Babel的配置文件是.babel ...
- Python学习(四十一)—— Djago进阶
一.分页 Django的分页器(paginator) view from django.shortcuts import render,HttpResponse # Create your views ...
- bool值的底层应用场景
这里我们的if 或者while,还有and,or,not 等都是在内部调用一个对象的bool方法,然后返回True或者是False, a = [0, ] # a = [] # print(bool(a ...
- 安全体系(一)—— DES算法详解
本文主要介绍了DES算法的步骤,包括IP置换.密钥置换.E扩展置换.S盒代替.P盒置换和末置换. 安全体系(零)—— 加解密算法.消息摘要.消息认证技术.数字签名与公钥证书 安全体系(二)——RSA算 ...
- 微信小程序--家庭记账本开发--04
界面的布局 在微信小程序开发过程中,界面的布局是十分重要的,无论是一个什么样的程序,界面的美观合理才能提供给客户一个较好的使用体验,就微信小程序布局自己看了许多小程序布局,自己将学习心得记录如下: 下 ...