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. python3 asyncio-协程模块测试代码

    import time import asyncio #统计运行时间的装饰器 def run_time(func): def wrapperfunc(*argv, **kwargv): now = l ...

  2. oracle建表 和 设置主键自增

    1.新建table CREATE TABLE ysb_log( id ) primary key not null , tbdate ) NULL, tb_time ) NOT NULL, tblog ...

  3. Django 多数据库支持

    很多时候,需要去其他数据库查询数据,都将会面临多数据库支持问题. 1.在settings文件内添加多数据库连接 DATABASES = { 'default': { 'ENGINE': 'django ...

  4. 易度文档管理系统--http://www.everydo.com/

    易度文档管理系统--http://www.everydo.com/ 公司工程技术部门需要,暂收藏.

  5. 在js中插入html语句

    连上数据库之后,填充数据时往往需要在js中插入html语句 做法是: <body> <div class="modal-body" id="delete ...

  6. 库数据有则修改,无则新增sql

    方法一:insert中on duplicate key update的使用 例如: <insert id="bindPlaceInfo"> insert into gr ...

  7. Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法

    检测到目标URL存在http host头攻击漏洞 详细描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST ...

  8. 解决问题:CA_ERROR证书出错,请登录微信支付商户平台下载证书-企业付款到零钱接口(原创)

    这几天用到了微信企业付款到零钱这个接口,结果出现了报错:CA_ERROR, 该接口的API说明和报错提示说明:https://pay.weixin.qq.com/wiki/doc/api/tools/ ...

  9. thread - 传递引用参数

    当给 thread 的执行函数传递指针参数时,没有任何问题,但是如果想传递引用,按照普通函数的调用方法会遇到编译失败: #include <iostream> #include <t ...

  10. 在.NET开发中的单元测试工具之(1)——NUnit

    NUnit介绍 NUnit是一个专门针对于.NET来写的单元测试框架,它是xUnit体系中的一员,在xUnit体系中还有针对Java的JUnit和针对C++的CPPUnit,在开始的时候NUnit和x ...