建库建表
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. 809. Expressive Words

    https://leetcode.com/problems/expressive-words/description/ class Solution { public: int expressiveW ...

  2. HDU1272小希的迷宫

    小希的迷宫 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一 ...

  3. Java的多态性Polymorphism

    原文地址:http://www.cnblogs.com/jack204/archive/2012/10/29/2745150.html Java中多态性的实现 什么是多态 面向对象的三大特性:封装.继 ...

  4. UVa 1455 Kingdom 线段树 并查集

    题意: 平面上有\(n\)个点,有一种操作和一种查询: \(road \, A \, B\):在\(a\),\(b\)两点之间加一条边 \(line C\):询问直线\(y=C\)经过的连通分量的个数 ...

  5. loj2308 「APIO2017」商旅

    ref #include <iostream> #include <cstring> #include <cstdio> #include <queue> ...

  6. STL学习笔记8 -- 函数对象

    重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象.一个类对象,表现出一个函数的特征,就是通过“对象名+(参数列表)”的方式使用一个类对象,如果 ...

  7. c语言入门-01

    当我们学c语言我们学些什么. [1]编译机制 当我们写好c的代码,生产了程序,这中间到底做了些什么? 这个就是c语言的编译过程 我们分别来解析这上面的过程. 我们写出我们第一个c程序. #includ ...

  8. Recommender System

    推荐系统我们都很熟悉,淘宝推荐用户可能感兴趣的产品,搜索引擎帮助用户发现可能感兴趣的东西,这些都是推荐系统的内容.接下来讲述一个电影推荐的项目. Netflix 电影推荐系统 这个项目是使用的Netf ...

  9. Leetcode 599.两个列表的最小索引总和

    两个列表的最小索引总和 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅. 如果答 ...

  10. Java学习5之接口

    接口不是类,而是一个特殊的名称,使用interface关键字.子类可以实现多个接口. 接口实现: public class Child extends Parent implements Interf ...