建库建表
a.建立一个公司数据库(gongsi)   
CREATE DATABASE gongsi 
b.建立一张部门表(部门编号b_id,部门名称b_name) , 
            其中b_id为主键,自增长,b_name不允许为空    
CREATE TABLE bumen (
b_id INT PRIMARY KEY AUTO_INCREMENT,
b_name VARCHAR(10) NOT NULL
)ENGINE=INNODB
c.建立一张员工表(员工编号y_id,姓名y_name,性别y_sex,年龄y_age,住址y_address,部门编号b_id),  
            其中y_id为主键自增长。
            住址默认为’不详’
            b_id依赖于部门表的b_id    
CREATE TABLE yg(
y_id INT PRIMARY KEY AUTO_INCREMENT,
y_name VARCHAR(10),
y_sex ENUM('男','女'),
y_age INT,
y_address VARCHAR(18) DEFAULT '不详',
b_id  INT,
FOREIGN KEY (b_id) REFERENCES bumen(b_id)
)ENGINE=INNODB  
1、查询年龄在25至30岁之间的男员工的姓名和住址。 
SELECT y_name,y_address FROM bumen,yg WHERE 
bumen.b_id=yg.b_id AND y_sex=’男’ AND  
y_age BETWEEN 25 AND 30
 
2、查询财务部所有40岁以下男员工的所有信息 
SELECT * FROM bumen,yg WHERE bumen.b_id=yg.b_id AND
b_name='财务部' AND y_age<=40 AND y_sex=’男’
 
3、查询人事部年龄最大的女员工姓名 
Select * from yg where y_age=(
Select  max(y_age) from yg,bumen where bumen.b_id=yg.b_id
And y_sex=’女’ AND b_name=’人事部’ 
)
And y_sex=’女’   AND  b_id=(Select  b_id from bumen where b_name=’人事部’)
 
4、2号新到一名员工,已知姓名,性别,年龄,将此员工加入到员工表  
INSERT INTO  yg (y_name,y_sex,y_age)VALUES('小灰灰','男',13)        
5、在员工表中,将人事部年龄大于30岁的女同事,调到后勤部
UPDATE yg SET b_id=(SELECT b_id FROM bumen WHERE b_name='后勤部')
WHERE y_id IN(
SELECT * FROM 
(SELECT y_id FROM yg WHERE b_id=(SELECT b_id FROM  bumen WHERE b_name='人事部')
AND y_age>30) xx
)AND y_sex='女'
 
6:查询每个部门年龄最大的员工,显示部门名字和年龄。
SELECT b_name,y_age FROM bumen,yg WHERE bumen.b_id=yg.b_id 
GROUP BY b_name 
HAVING MAX(y_age)
 
7:查询每个部门各有多少人,显示部门名字和人数,按人数倒序,如果人数相同,按部门编号正序。
SELECT b_name,COUNT(*) FROM bumen,yg WHERE 
bumen.b_id=yg.b_id 
GROUP BY bumen.b_id
ORDER BY COUNT(*)DESC,bumen.b_id ASC
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 IN(
SELECT b_id FROM bumen WHERE b_name='后勤部')
10:查询财务部年龄不在20-30之间的男生信息。
SELECT * FROM bumen,yg WHERE bumen.b_id=yg.b_id
AND b_name='财务部' AND y_sex=’男’
AND y_age NOT BETWEEN 20 AND 30

mysql查询练习题的更多相关文章

  1. mysql查询练习题-2016.12.16

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

  2. mysql 查询 练习题及答案

    CREATE DATABASE school;USE school;/*1.创建student表格*//*id为主键 非空 唯一 */CREATE TABLE student (id INT(10) ...

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

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

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

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

  5. 【Python全栈-后端开发】MySQL数据库-练习题

    MySQL数据库-练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号 ...

  6. MySQL 查询练习记录

    MySQL 查询练习记录 最近在复习mysql,在b站上找了一个感觉还不错的视频,把视频中查询练习相关的内容记录了下来,以便自己日后查阅和复习. 视频连接:https://www.bilibili.c ...

  7. MySQL-注释-Navicat基本使用-复杂查询练习题-解题思路-pymysql操作数据库-SQL注入-05

    目录 mysql语句注释 navicat 的基本使用 特色(个人总结) 与数据服务器建立连接 创建&打开数据库.表 创建 打开 修改操作表结构 修改表结构 查询修改操作表数据 基本语句对应的操 ...

  8. MYSQL经典练习题,熟悉DQL

    MYSQL经典练习题 (本练习题可让你熟悉DQL,快速的上手DQL) 首先,先在数据库中建立基本数据库以及表项: DROP DATABASE IF EXISTS `test`; CREATE DATA ...

  9. MySQL查询练习2

    MySQL查询练习2 导读: 本次MySQL的查询语句是本人考试题目: 所有题目都已通过: 该查询练习并没有sql文件进行检查: 如果有书写以及其他错误欢迎指出. 题目正文: 1.找出借书超过5本的借 ...

随机推荐

  1. stark组件前戏(2)之单例模式

    单,一个. 例,实例.对象. 通过利用Python模块导入的特性:在Python中,如果已经导入过的文件再被重新导入时候,python不会重新解释一遍,而是选择从内容中直接将原来导入的值拿来用.   ...

  2. 解决maven项目Invalid bound statement (not found)的方法

    用IDEA 做的ssm 的maven项目,登陆时出现上图问题. 原因是它读取不到DevUserMapper.xml文件和取它xml文件,后面查询在编译好的文件中,xml文件并没有引入进来,这就是导致出 ...

  3. mysql进阶三四五六

    排序查询 一.语法 select 查询表 from 表 where 筛选条件 order by 排序列表[asc / desc] 特点: 1.asc:升序 desc:降序 2.排序列表之中支持单字段, ...

  4. exkmp略解

    推导 ext[i]表示母串s[i..lens]和子串t[1..lent]的最长公共前缀. nxt[i]表示t[i..lent]和t[1..lent]的最长公共前缀. 假设ext[1..k]已经算好,现 ...

  5. Install ADDS on Windows Server 2012 R2 with PowerShell

    Install ADDS on Windows Server 2012 R2 with PowerShell Posted by ethernuno on 20/04/2014 In this tut ...

  6. 手机APP设计网

     http://hao.xueui.cn/ http://www.25xt.com/ 

  7. wordpress 区分多语言站点

    $blog_title = get_bloginfo( 'name' ); $table_name = ''; if ( $blog_title == 'Driver Easy' ) { $table ...

  8. bat 处理adb脚本

    @echo off REM Funtion: 测试parsermode 接口CdxParserGetMediaInfo 和CdxParserRead REM Code by lzp 2017-05-0 ...

  9. Python多进程之multiprocessing模块和进程池的实现

    1.利用multiprocessing可以在主进程中创建子进程,提升效率,下面是multiprocessing创建进程的简单例子,和多线程的使用非常相似 ''' 代码是由主进程里面的主线程从上到下执行 ...

  10. 【bzoj3544】[ONTAK2010]Creative Accounting 前缀和+STL-set

    题目描述 给定一个长度为N的数组a和M,求一个区间[l,r],使得$(\sum\limits_{i=l}^{r}{a_i})\ mod\ M$的值最大,求出这个值,注意这里的mod是数学上的mod(即 ...