学习MySQL过程中做的练习题,感觉是不错的例子就记录下来。

练习要使用到的表:

表一:员工表–> yg

y_id y_name y_sex y_age y_address b_id
1 赵老大 19 天津 3
2 钱老二 25 北京 1
3 孙老四 61 上海 2
4 李老四 23 广州 3
5 周老五 22 福建 1
6 吴老六 33 深圳 3
7 郑老七 31 天津 1
8 王老八 45 不详 2

表二:部门表–>bumen

b_id b_name
1 财务部
2 后勤部
3 人事部

1、查询年龄在25至30岁之间的男员工的姓名和住址。

SELECT y_name, y_address
FROM yg
WHERE(
y_age BETWEEN 18 AND 25
AND
y_sex = '男');

2、查询财务部所有40岁以下男员工的所有信息

SELECT *
FROM yg
WHERE(
y_sex = '男'
AND
y_age < 40
AND
b_id = (
SELECT b_id
FROM bumen
WHERE b_name = '财务部'));

3、查询人事部年龄最大的女员工姓名

SELECT y_name, MAX(y_age)
FROM yg
WHERE
(y_sex = '女'
AND
b_id =
(SELECT b_id
FROM bumen
WHERE b_name = '人事部'));

4、新到一名员工,已知姓名,性别,年龄,将此员工加入到员工表

INSERT INTO yg
(y_name, y_sex, y_age)
VALUES
('小明','男',18);

5、在员工表中,将人事部年龄大于30岁的女同事,调到后勤部

UPDATE yg
SET
b_id =
(SELECT b_id
FROM bumen
WHERE b_name = '后勤部')
WHERE
(y_age >40
AND
y_sex = '女'
AND
b_id =
(SELECT b_id
FROM bumen
WHERE b_name = '人事部'));

6:查询每个部门年龄最大的员工,显示部门名字和年龄。

SELECT yg.y_name, bumen.b_name
FROM yg, bumen
WHERE yg.b_id = bumen.b_id
GROUP BY yg.b_id
HAVING MAX(y_age);

7:查询每个部门各有多少人,显示部门名字和人数,按人数倒序,如果人数相同,按部门编号正序。

SELECT bumen.b_name, COUNT(yg.y_name)
FROM bumen, yg
WHERE bumen.b_id = yg.b_id
GROUP BY yg.b_id
ORDER BY COUNT(yg.y_name) DESC,bumen.b_id;

8:将孙老三的的名字改为孙老四,并调到财务部。

UPDATE yg
SET
y_name = '孙老四',
b_id =
(SELECT b_id
FROM bumen
WHERE b_name = '财务部')
WHERE y_name = '孙老三';

9:将后勤部年龄大于60岁的员工删除。

DELETE
FROM yg
WHERE
(y_age > 60
AND
b_id =
(SELECT b_id
FROM bumen
WHERE b_name = '后勤部'));

10:查询财务部年龄不在20-30之间的男生信息。

SELECT *
FROM yg
WHERE
(y_sex = '男'
AND
y_age NOT BETWEEN 20 AND 30
AND
b_id =
(SELECT b_id
FROM bumen
WHERE b_name = '财务部'));

MySQL练习2的更多相关文章

  1. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  2. mysql每秒最多能插入多少条数据 ? 死磕性能压测

    前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...

  3. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  4. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  5. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  6. 闰秒导致MySQL服务器的CPU sys过高

    今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...

  7. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  8. Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制

    将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...

  9. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  10. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

随机推荐

  1. Vue.js基础篇实战--一个ToDoList小应用

    距离开始学Vue已经过去一个多月了,总想把学到的东西柔和在一起,做点东西出来,于是有了这个Todolist小应用. 使用vuex 纯粹基础,没有用到web pack,vuex,npm,下次把它改造一下 ...

  2. 使用WCF的Trace与Message Log功能

      原创地址:http://www.cnblogs.com/jfzhu/p/4030008.html 转载请注明出处   前面介绍过如何创建一个WCF Service http://www.cnblo ...

  3. html之如何让文字两端对齐

    text-align: justify;/*英文*/ text-align-last: justify;/*中英文*/ text-align-last: justify;亲测有效(chrome)

  4. Maven项目的核心pom.xml解释(转)

    文章转自http://blog.sina.com.cn/s/blog_534f69a001010lpv.html maven项目的核心是pom.xml.POM(Project Object Model ...

  5. Qt学习笔记:Qt中使用Lua

    今天想在Qt中使用Lua进行数据操作 结果发现在Qt中使用Lua的文章较少,虽然很简单,但是还是写出来提供入门,顺便记录一下 我使用的是Qt Creator 3.4.2,用的是mingw4.9.2的编 ...

  6. 在Oracle里,表的别名不能用as,列的别名可以用as

    列的别名也可以不用as,如:select t.a xxx from table t 在Oracle数据库中,数据表别名是不能加as的,例如: select a.appname from appinfo ...

  7. webapp调试工具weinre的使用

    在设计师与前端开发人员的努力下,一个WebApp出炉了,可是测试人员说了一堆的问题:某某机型下页面表现不一致,某某系统下页面如何如何,某某 系统浏览器下页面怎么怎么滴.看着满满的测试汇总文档,我们曾经 ...

  8. Unity3D 之连按移动加速

    上代码: 效果是连续按W后,加速移动 为物体添加个拖拽效果,方便看运动轨迹. 将下面的脚本绑定到移动的物体上. 不过这里有一点很重要的需要去注意就是该方法不能放在 void FixedUpdate() ...

  9. cognos 10.2.2 导入samples数据源报错解决

    操作系统:windows 2008R2 X64 数据库:oracle 10.2.0.1 X32 sid:cognosdb86 安装完samples后,执行IBM安装目录webcontent\sampl ...

  10. SQLSERVER 触发器 将一个服务器上的数据库中数据插入到另一个服务器上的数据库中怎么做

    首先要执行 sp_addlinkedserver '服务器ip' 然后开始写语句 insert into ip.库名字.dbo.table select * from iserted