1.题目

第一题

tb_user:

User_id

User_name

User_phone

1

张三

13800138000

2

李四

13800138001

tb_customer:

Customer_id

User_id

Customer_name

Company_name

1

1

王先生

中国移动广州分公司

2

2

林先生

中通服建设有限公司

tb_project

Project_id

Customer_id

Project_name

1

1

EOMS系统

2

2

ME2.0机务维修系统

根据以上三个表,要求输出:

Project_id

User_name

User_phone

Customer_name

Company_name

Project_name

1

张三

13800138000

王先生

中国移动广州分公司

EOMS系统

2

李四

13800138001

林先生

中通服建设有限公司

ME2.0机务维修系统

1.请按上表内容写出对应的sql语句?

2.表结构及数据

 1 CREATE TABLE `tb_user` (
 2   `id` int(11) DEFAULT NULL,
 3   `user_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
 4   `user_phone` varchar(255) CHARACTER SET latin1 COLLATE latin1_german2_ci DEFAULT NULL
 5 ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 6
 7 INSERT INTO `test`.`tb_user` (`id`, `user_name`, `user_phone`) VALUES ('1', '张三', '13800138000');
 8 INSERT INTO `test`.`tb_user` (`id`, `user_name`, `user_phone`) VALUES ('2', '李四', '13800138001');
 9
10
11
12 CREATE TABLE `tb_customer` (
13   `Customer_id` int(11) DEFAULT NULL,
14   `user_id` int(11) DEFAULT NULL,
15   `Customer_name` varchar(255) DEFAULT NULL,
16   `Company_name` varchar(255) DEFAULT NULL
17 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
18 INSERT INTO `test`.`tb_customer` (`Customer_id`, `user_id`, `Customer_name`, `Company_name`) VALUES ('1', '1', '王先生', '中国移动广州分公司');
19 INSERT INTO `test`.`tb_customer` (`Customer_id`, `user_id`, `Customer_name`, `Company_name`) VALUES ('2', '2', '林先生', '中通服建设有限公司');
20
21
22
23
24 CREATE TABLE `tb_project` (
25   `Project_id` int(11) DEFAULT NULL,
26   `Customer_id` int(11) DEFAULT NULL,
27   `Project_name` varchar(255) DEFAULT NULL
28 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
29
30 INSERT INTO `test`.`tb_project` (`Project_id`, `Customer_id`, `Project_name`) VALUES ('1', '1', 'EOMS系统');
31 INSERT INTO `test`.`tb_project` (`Project_id`, `Customer_id`, `Project_name`) VALUES ('2', '2', 'ME2.0机务维修系统');
32
33
34
35 CREATE TABLE `tb_dept` (
36   `Dept_id` int(11) DEFAULT NULL,
37   `Dept_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
38   `Dept_loc` varchar(255) CHARACTER SET utf8 DEFAULT NULL
39 ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
40
41 INSERT INTO `test`.`tb_dept` (`Dept_id`, `Dept_name`, `Dept_loc`) VALUES ('10', '教研部', '北京');
42 INSERT INTO `test`.`tb_dept` (`Dept_id`, `Dept_name`, `Dept_loc`) VALUES ('20', 'IT部', '广州');
43 INSERT INTO `test`.`tb_dept` (`Dept_id`, `Dept_name`, `Dept_loc`) VALUES ('30', '销售部', '深圳');
44 INSERT INTO `test`.`tb_dept` (`Dept_id`, `Dept_name`, `Dept_loc`) VALUES ('40', '财务部', '深圳');
45 INSERT INTO `test`.`tb_dept` (`Dept_id`, `Dept_name`, `Dept_loc`) VALUES ('50', '董事会', '上海');
46 INSERT INTO `test`.`tb_dept` (`Dept_id`, `Dept_name`, `Dept_loc`) VALUES ('60', '行政部', '厦门');
47
48
49 CREATE TABLE `tb_emp` (
50   `Emp_id` int(11) DEFAULT NULL,
51   `Emp_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
52   `Job` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
53   `Manage` varchar(255) DEFAULT NULL,
54   `Sal` varchar(255) DEFAULT NULL,
55   `Comm` varchar(255) DEFAULT NULL,
56   `Dept_id` int(11) DEFAULT NULL
57 ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
58
59 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1001', '甘宁', '文员', '1013', '8000.00', 'Null', '20');
60 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1002', '刘备', '经理', '1010', '29750.00', 'Null', '20');
61 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1006', '关羽', '经理', '1010', '24500.00', 'Null', '30');
62 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1007', '张飞', 'Java工程师', '1008', '28500.00', 'Null', '20');
63 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1008', '诸葛亮', '经理', '1004', '30000.00', '14000.00', '40');
64 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1009', '张无忌', '老师', '1011', '5000.00', 'Null', '10');
65 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1010', '张三丰', '董事长', 'Null', '58900.00', 'Null', '50');
66 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1011', '庞统', '经理', '1010', '30000.00', 'Null', '10');
67 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1010', '张三8', '文员', 'Null', '123', 'Null', '20');
68 INSERT INTO `test`.`tb_emp` (`Emp_id`, `Emp_name`, `Job`, `Manage`, `Sal`, `Comm`, `Dept_id`) VALUES ('1010', '张三7', '文员', 'Null', '123', 'Null', '30');

View Code

第二题

tb_dept

Dept_id

Dept_name

Dept_loc

10

教研部

北京

20

IT部

广州

30

销售部

深圳

40

财务部

深圳

50

董事会

上海

60

行政部

厦门

tb_emp

Emp_id

Emp_name

Job

Manage

Sal

Comm

Dept_id

1001

甘宁

文员

1013

8000.00

Null

20

1002

刘备

经理

1010

29750.00

Null

20

1006

关羽

经理

1010

24500.00

Null

30

1007

张飞

Java工程师

1008

28500.00

Null

20

1008

诸葛亮

经理

1004

30000.00

14000.00

40

1009

张无忌

老师

1011

5000.00

Null

10

1010

张三丰

董事长

Null

58900.00

Null

50

1011

庞统

经理

1010

30000.00

Null

10

1、查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数?

2、列出薪金比关羽高的所有员工?

3、列出所有员工的姓名及其直接上级的姓名 ?

4、列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门 ?

5、列出每个部门的员工数量、平均工资 ?

6、列出所有文员的姓名及其部门名称,部门的人数 ?

答案:

第一题:
请按上表内容写出对应的sql语句:
答题:
select
P.Project_id ,
U.User_name,U.User_phone,
c.Customer_name,c.Company_name,
p.Project_name
from tb_user u LEFT JOIN tb_customer c on u.id=c.user_id
LEFT JOIN tb_project p  on c.customer_id= p.customer_id
;第二题:
1、查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数
答题:select * from
(
select  d.dept_id ,d.dept_name,d.dept_loc,count(e.emp_id) pNum
from tb_dept d LEFT JOIN tb_emp e on d.dept_id=e.dept_id
group by d.dept_id
) t where t.pNum>=1 ;2、列出薪金比关羽高的所有员工
答题:
select * from tb_emp
where sal>(
select e.sal from tb_emp e
where e.emp_name='关羽');3、列出所有员工的姓名及其直接上级的姓名
答题:
方法1:
select #    e.emp_id employeeId,e.emp_name employee,#    e1.emp_id leaderId    ,e1.emp_name leader
from tb_emp e , tb_emp e1
where e.manage = e1.emp_id
;
方法2:
select
leader,
GROUP_CONCAT(employee) employee
from (
select #    e.emp_id employeeId,e.emp_name employee,e1.emp_id leaderId    ,e1.emp_name leader
from tb_emp e , tb_emp e1
where e.manage = e1.emp_id
) t
group by  t.leaderId
;4、列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门
答题:
select *
from tb_dept d LEFT JOIN tb_emp e on d.dept_id=e.dept_id ;5、列出每个部门的员工数量、平均工资
答题:
select e.dept_id 部门,count(e.emp_id) 员工数量,
ROUND(sum(e.sal)/count(e.emp_id),2) 平均工资
from tb_emp  e
group by e.dept_id ;6、列出所有文员的姓名及其部门名称,部门的人数
答题:#列出所有文员的姓名及其部门名称
select e.emp_name,e.dept_id,d.dept_name
from tb_emp e  ,tb_dept d
where e.dept_id=d.dept_id
and  e.job='文员'#是文员所在部门下的部门人数,还是部门下文员的人数 ?
select e.dept_id,e.emp_name, d.dept_name,count(e.emp_id)
from tb_emp e  ,tb_dept d
where e.dept_id=d.dept_id
and  e.job='文员'
group by e.dept_id

转载于:https://www.cnblogs.com/linbo3168/p/10967402.html

mysql 初级练习题相关推荐

  1. MySQL初级练习题

    对XSCJ数据库进行数据查询     1)查询XS表中各个同学的姓名.专业名.和总学分. select 姓名,专业名,总学分 from XS; 2)查询XS表中计算机系同学的学号.姓名和总学分,结果中 ...

  2. 整理的金蝶云苍穹初级练习题

    整理的金蝶云苍穹初级练习题 (单选题)以下哪项描述不正确 C A.苍穹动态微服务架构部署态时是按云或应用动态组合微服务容器的 B.苍弯使用了多级缓存服务,以保证系统的高性能 C.对于苍穹应用中的负责计 ...

  3. mysql训练逻辑的题_全国计算机等级考试二级教程mysql复习题练习题.docx

    全国计算机等级考试二级教程mysql复习题练习题.docx [233网校会员中心]提供计算机.外语.资格类.学历类,会计类.建筑类.医学类.外贸类.公务员九大类免费在线题库及专家答疑WWW233COM ...

  4. hive sql练习_经典的SparkSQL/Hive-SQL/MySQL面试-练习题

    经典的SparkSQL/Hive-SQL/MySQL面试-练习题​mp.weixin.qq.com 第一题 需求: 已知一个表order,有如下字段:date_time,order_id,user_i ...

  5. 六、MySQL 数据库练习题1(包含前5章练习题目及答案)

    文章目录 一.数据库概述练习题 二.MySQL 环境搭建练习题 三.查询练习 MySQL 数据库练习题(包含前5章所有知识点及答案) 前置知识: 一.数据库开发与实战专栏导学及数据库基础概念入门 二. ...

  6. mysql查询练习题

    mysql查询练习题:用到了group by,case when Part 1 学生表 成绩表 1.查询所有学生的数学成绩,显示学生姓名name, 分数, 由高到低 $select s.name,g. ...

  7. MySQL 数据库练习题记录01

    文章目录 前言 一.数据库练习题一 1.1 表结构 1.2 查询所有学生的信息(学号,姓名,性别,班级名称) 1.3 查询所有人(包括没有成绩的学生)的课程分数(学号,姓名,性别,班级名称,语文分数, ...

  8. mysql存储过程练习题,2016年计算机二级考试MySQL数据库练习题模拟

    一.编程题 在数据库db_test中创建一个存储过程,用于实现给定表content中一个留言人的姓名即可修改表content中该留言人的电子邮件地址为一个给定的值. 二.简答题 1.请解释什么是存储过 ...

  9. 尚硅谷MySQL课后练习题笔记

    尚硅谷MySQL课后练习题 视频地址:[宋红康]MySQL数据库(mysql安装/基础/高级/优化)_哔哩哔哩_bilibili 数据库资源地址:链接:https://pan.baidu.com/s/ ...

  10. 2018年3月份计算机二级操作题训练,2018年3月计算机二级考试MySQL章节练习题三

    2018年3月计算机等级考试备考在即,小编在这里为考生们整理了2018年3月计算机二级考试MySQL章节练习题,希望能帮到大家,想了解更多资讯,请关注出国留学网的及时更新哦. 2018年3月计算机二级 ...

最新文章

  1. 如何通过svg代码还原图片_【UWA学堂】如何通过技术美术师来弥合代码与艺术之间的鸿沟?...
  2. java增删改查实例源码_Spring Data JPA 实现简单的CRUD增删改查源码案例
  3. PHP如何将表单提交给自己
  4. 设计模式之外观模式(Fasade Pattern)
  5. 获取/设置IFRAME内对象元素的几种JS方法
  6. Tomcat(二):server.xml配置
  7. Python查找算法之 -- 列表查找和二分查找
  8. adb命令重置_android – 擦除数据/通过ADB恢复出厂设置
  9. 【推荐】一个移动开发的网站
  10. 三点坐标确定圆心坐标
  11. Java常用的设计模式是什么?
  12. 大数据扫黄如此精准,你中招了没
  13. CSA发布云控制矩阵3.0版
  14. pat乙级1083C语言
  15. 文件上传功能怎么测试
  16. 一个简单的UDP回显服务器
  17. 【Android】开屏页面
  18. 如何在chrome浏览器设置夜间模式
  19. android选择头像弹窗,仿QQ的头像选择弹出的对话框
  20. 程序员因加班错失77万年会大奖,该不该补发?-千氪

热门文章

  1. Spring_day04--课程安排_回顾SSH框架知识点_SSH框架整合思想
  2. 三星投8万亿扩充10nm、7nm产能:骁龙835爆发
  3. Web移动开发基本概念
  4. javascript事件之:谈谈自定义事件
  5. HDU 4946 Area of Mushroom(2014 Multi-University Training Contest 8)
  6. IEtester不靠谱
  7. Windows活动目录(域服务器)经典系列图文教程
  8. 金蝶BOS开发之--非空验证、时间、电话号码验证
  9. 架构师成长计划|如何利用云原生构建一个企业级高可用架构?
  10. 天天唠叨的MySQL优化,到底该怎么玩?