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 查询 练习题及答案的更多相关文章

  1. MySQL经典练习题及答案,常用SQL语句练习50题

    表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id ...

  2. mysql查询练习题-2016.12.16

    >>>>>>>>>> 练习时间:2016.12.16 编辑时间:2016-12-20-->22:12:08 题: 涉及:多表查询.ex ...

  3. Qracle、Sql server 、mysql查询练习题

    1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 fro ...

  4. mysql查询练习题

    建库建表 a.建立一个公司数据库(gongsi)    CREATE DATABASE gongsi b.建立一张部门表(部门编号b_id,部门名称b_name) ,             其中b_ ...

  5. 2016/3/16 45道MySQL 查询练习题

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  6. MySQL练习题参考答案

    MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...

  7. s15day12作业:MySQL练习题参考答案

    MySQL练习题参考答案   导出现有数据库数据: mysqldump -u用户名 -p密码 数据库名称 >导出文件路径           # 结构+数据 mysqldump -u用户名 -p ...

  8. MySQL练习题及答案(复习)

    新建一个叫做 review 的数据库,将测试数据脚本导进去.(可以使用Navicat查询功能) /* Navicat MySQL Data Transfer Source Server : DB So ...

  9. 50道SQL练习题及答案与详细分析(MySQL)

    50道SQL练习题及答案与详细分析(MySQL) 网上的经典50到SQL题,经过一阵子的半抄带做,基于个人理解使用MySQL重新完成一遍,感觉个人比较喜欢用join,联合查询较少 希望与大家一起学习研 ...

随机推荐

  1. sqlserver 生成脚本执行创建索引

    create or alter proc SP_CreateIndex as begin if exists(select * from sys.objects where name='execsql ...

  2. css和css3弹性盒模型实现元素宽度(高度)自适应

    一.css实现左侧宽度固定右侧宽度自适应 1.定位 <!DOCTYPE html> <html lang="en"> <head> <me ...

  3. python 读写文件中 w与wt ; r与rt 的区别

    w,r,wt,rt都是python里面文件操作的模式.w是写模式,r是读模式.t是windows平台特有的所谓text mode(文本模式),区别在于会自动识别windows平台的换行符.类Unix平 ...

  4. 论http弥补技术ajax、comet、SPADY、websocket

    为什么要弥补http?http有什么缺陷? 查询资料中

  5. 七天开发进度(六)(微信小程序版(一))

    1. 今天主要根据网上教程学习了微信小程序的代码结构,和代码编写-Tabbar配置, 学习了app.js的App和Page方法, 认识了view组件,button组件,input组件,但是还没怎么应用 ...

  6. Thymleaf js直接获取后台传过来的对象或者对象的属性以及map

    简单说明:第一次接触thymleaf模板,对于thymleaf在js中如何获取后台传递过来的值,真的挺简单的,记住就行了 代码: 后台代码: //传递一个org对象给jspublic String t ...

  7. Django-ORM多表操作(进阶)

    一.创建模型 下面我们通过图书管理系统,来设计出每张表之间的对应关系. 通过上图关系,来定义一下我们的模型类. from django.db import models class Book(mode ...

  8. echarts4.0折线图让某个点闪烁

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. [慢更]Sublime Text 快捷键及使用过的插件

    整理自己常用的sublime text命令和插件 1.pretty json Json 快速格式化,免去url访问json站点的烦恼. 摘自:https://segmentfault.com/a/11 ...

  10. tensorflow结果可视化-【老鱼学tensorflow】

    这次我们把上次的结果进行可视化显示,我们会把神经网络的优化过程以图像的方式展示出来,方便我们了解神经网络是如何进行优化的. 首先,我们把测试数据显示出来: # 显示测试数据 fig = plt.fig ...