现有如下两个数据表emp和dept,数据如下:

员工信息表:emp

部门表:dept

表格字段说明:

两个表需要插入的数据

emp表:
INSERT INTO emp VALUES(7369,’SMITH’,’CLERK’,7902,’1980-12-17’,800,NULL,20);
INSERT INTO emp VALUES(7499,’ALLEN’,’SALESMAN’,7698,’1981-02-20’,1600,300,30);
INSERT INTO emp VALUES(7521,’WARD’,’SALESMAN’,7698,’1981-02-22’,1250,500,30);
INSERT INTO emp VALUES(7566,’JONES’,’MANAGER’,7839,’1981-04-02’,2975,NULL,20);
INSERT INTO emp VALUES(7654,’MARTIN’,’SALESMAN’,7698,’1981-09-28’,1250,1400,30);
INSERT INTO emp VALUES(7698,’BLAKE’,’MANAGER’,7839,’1981-05-01’,2850,NULL,30);
INSERT INTO emp VALUES(7782,’CLARK’,’MANAGER’,7839,’1981-06-09’,2450,NULL,10);
INSERT INTO emp VALUES(7788,’SCOTT’,’ANALYST’,7566,’1987-04-19’,3000,NULL,20);
INSERT INTO emp VALUES(7839,’KING’,’PRESIDENT’,NULL,’1981-11-17’,5000,NULL,10);
INSERT INTO emp VALUES(7844,’TURNER’,’SALESMAN’,7698,’1981-09-08’,1500,0,30);
INSERT INTO emp VALUES(7876,’ADAMS’,’CLERK’,7788,’1987-05-23’,1100,NULL,20);
INSERT INTO emp VALUES(7900,’JAMES’,’CLERK’,7698,’1981-12-03’,950,NULL,30);
INSERT INTO emp VALUES(7902,’FORD’,’ANALYST’,7566,’1981-12-03’,3000,NULL,20);
INSERT INTO emp VALUES(7934,’MILLER’,’CLERK’,7782,’1982-01-23’,1300,NULL,10);

dept表:
INSERT INTO dept VALUES(10, ‘ACCOUNTING’, ‘NEW YORK’);
INSERT INTO dept VALUES(20, ‘RESEARCH’, ‘DALLAS’);
INSERT INTO dept VALUES(30, ‘SALES’, ‘CHICAGO’);
INSERT INTO dept VALUES(40, ‘OPERATIONS’, ‘BOSTON’);


根据提供的emp和dept表查询下列信息:

5 字段控制查询

5.1 去除重复记录。5.2 查看雇员的月薪与佣金之和。5.3 给5.2的结果新生成的列起个别名。

6.聚合函数

6.1查询emp表中记录数:6.2查询emp表中有奖金的人数:6.3查询emp表中月薪大于2500的人数:6.4统计月薪与奖金之和大于2500元的人数:6.5查询有佣金的人数,有领导的人数:6.6查询所有雇员月薪和:6.7查询所有雇员月薪和,以及所有雇员奖金和:6.8查询所有雇员月薪+佣金和:6.9 统计所有员工平均工资:6.10 查询最高工资和最低工资:

7.分组查询

7.1查询每个部门的部门编号和每个部门的工资和:7.2查询每个部门的部门编号以及每个部门的人数:7.3查询每个部门的部门编号以及每个部门工资大于1500的人数:7.4查询工资总和大于9000的部门编号以及工资和:

8.limit关键字:

8.1 查询5行记录,起始行从0开始8.2 查询10行记录,起始行从3开始8.3 分页查询

sql查询语句以及查询结果:

– 5 字段控制查询
– 5.1 去除重复记录。
SELECT DISTINCT * FROM emp WHERE mgr=7698;

SELECT DISTINCT mgr FROM emp WHERE mgr=7698;

– 5.2 查看雇员的月薪与佣金之和。
SELECT sal+IFNULL(comm,0) FROM emp ;

– 5.3 给5.2的结果新生成的列起个别名。
SELECT sal+IFNULL(comm,0) AS a FROM emp ;


– 6.聚合函数
– 6.1查询emp表中记录数:
SELECT COUNT(*) FROM emp;

– 6.2查询emp表中有奖金的人数:
SELECT COUNT(comm) FROM emp;

– 6.3查询emp表中月薪大于2500的人数:
SELECT COUNT(*) FROM emp WHERE sal>2500;

– 6.4统计月薪与奖金之和大于2500元的人数:
SELECT COUNT(*) FROM emp WHERE sal+IFNULL(comm,0)>2500;

– 6.5查询有奖金的人数,有领导的人数:count统计数量(非null)
SELECT COUNT(comm),COUNT(mgr) FROM emp;
SELECT COUNT(comm),COUNT(mgr) FROM emp WHERE comm IS NOT NULL OR mgr IS NOT NULL;
这两个sql语句时等价的,count会自动去除null的人

– 6.6查询所有雇员月薪和:
SELECT SUM(sal) FROM emp;

– 6.7查询所有雇员月薪和,以及所有雇员奖金和:
SELECT SUM(sal),SUM(comm) FROM emp;

– 6.8查询所有雇员月薪+佣金和:
SELECT SUM(sal+IFNULL(comm,0)) FROM emp;

– 6.9 统计所有员工平均工资:
SELECT AVG(sal+IFNULL(comm,0)) FROM emp;

– 6.10 查询最高工资和最低工资:
SELECT MAX(sal+IFNULL(comm,0)),MIN(sal+IFNULL(comm,0)) FROM emp;


– 7.分组查询
– 7.1查询每个部门的部门编号 和 每个部门的工资和:
SELECT deptno,SUM(sal+IFNULL(comm,0)) 部门总工资 FROM emp GROUP BY deptno;

– 7.2查询每个部门的部门编号 以及 每个部门的人数:
SELECT deptno, COUNT(*)FROM emp GROUP BY deptno;

– 7.3查询每个部门的部门编号 以及 每个部门工资大于1500的 人数:
SELECT deptno, COUNT(*) FROM emp WHERE (sal+IFNULL(comm,0))>1500 GROUP BY deptno;

– 7.4查询部门工资总和大于9000的部门编号以及工资和:
– 最终要部门编号 和 部门工资和
SELECT deptno,SUM(sal+IFNULL(comm,0)) FROM emp GROUP BY deptno HAVING SUM(sal+IFNULL(comm,0))>9000;
– having 能跟聚合函数
– where 后不能跟聚合函数


– 8.limit关键字:
– 8.1 查询5行记录,起始行从0开始
SELECT * FROM emp LIMIT 0,5;

– 8.2 查询10行记录,起始行从3开始
SELECT * FROM emp LIMIT 3,10;

– 8.3 分页查询 startPage=(page-1)*count
SELECT * FROM emp LIMIT 0,5;
SELECT * FROM emp LIMIT 5,5;
SELECT * FROM emp LIMIT 10,5;

11--MySQL数据查询应用(实战)(二)相关推荐

  1. MySQL数据查询语句

    MySQL数据查询语句 MySQL 表单查询是指从一张表的数据中查询所需的数据,主要有查询所有字段.查询指定字段.查询指定记录.查询空值.多条件的查询.对查询结果进行排序分组等. 查询结构 SELEC ...

  2. 9.MySQL数据查询SQL

    9.MySQL数据查询SQL 语法格式: select 字段列表|* from 表名 [where 搜索条件] [group by 分组字段 [having 分组条件]] [order by 排序字段 ...

  3. limit mysql 取最后_更优美的 limit 使用方法 (limit 对 mysql 数据查询的性能影响)

    更优美的 limit 使用方法(limit 对 MySQL 数据查询的性能影响) 本文在 zhangyachen 的基础上重新排版 来源:zhangyachen 一,前言 首先说明一下 MySQL 的 ...

  4. 【227期】面试官:MySQL 数据查询太多会 OOM 吗?

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...

  5. 艺赛旗(RPA)Mysql 数据查询慢 - 索引调优 Explain 用法

    艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 在日常工作中,我们会有时会开慢查询去记录一些执行时间比 ...

  6. mysql数据查询——复杂查询

    <实验五 数据查询--复杂查询>实验说明 一. 适用课程:<数据库原理与应用> 实验学时:3 二.实验目的: (1) 掌握SELECT语句的语法格式: (2) 熟练运用SELE ...

  7. MySQL数据查询—MysqlDay2

    目录 1.条件查询(上) 2.条件查询(下) 3.聚合函数(上) 4.聚合函数(下) 5.分组与分页 6.连接查询 7.子查询 8.保存查询结果 重点: 条件查询.分组分页.连接查询 难点: 条件查询 ...

  8. 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解

    主键: 关键字:primary key 特点:不能为null,并且唯一. 主键分类: 逻辑主键:例如ID,不代表实际的业务意义,只是用来唯一标识一条记录(推荐) 业务主键:例如username,参与实 ...

  9. CYQ.Data 轻量数据层之路 使用篇-MAction 数据查询 视频 D (二十一)

    2019独角兽企业重金招聘Python工程师标准>>> 说明: 本次录制主要为使用篇:CYQ.Data 轻量数据层之路 使用篇二曲 MAction 数据查询(十三)   的附加视频教 ...

  10. PHP中mysql查询全部过程_PHP到MySQL数据查询过程概述_MySQL

    摘要 本文概述了从PHP层发起mysql查询请求到mysql server 返回结果集的工作流程,并简单描述了各层可能涉及到的动作和组件.从全局把握整个交互过程. PHP层到MySQL层 Php到sq ...

最新文章

  1. 进制转换Visual Basic—进制转换规则
  2. 7个免费的Linux FTP客户端工具
  3. 如何利用Shader来渲染游戏中的3D角色
  4. Oracle dataGuard专题:Rman通过duplicate创建standby
  5. 推荐算法在招聘商业化场景中的应用实践
  6. 女友的一个建议,让26岁程序员做了个价值 10 亿美元的 App
  7. (2)css的复合选择器与特性
  8. SPSS反向题处理(图文+数据集)【SPSS 011期】
  9. python库下载(包括一些pip安装不成功的库下载)
  10. Flash | 用几张帧图创建逐帧动画元件并插入场景层的一般步骤
  11. Python_爬虫系列_10.各种案例集合
  12. 复制html代码怎么粘贴快捷键,复制和粘贴快捷键ctrl加什么
  13. Oracle数据库各版本下载(迅雷复制粘贴直接下载,别进目录)
  14. 运筹学--线性目标规划
  15. SSM基于java的线上阅读平台的设计与实现 毕业设计-附源码291023
  16. vue项目手机端适配
  17. 计算机控制点火系统检修,《发动机电控技术》教学教案:计算机控制点火系统的组成及工作原理...
  18. XPU时代创新者英特尔
  19. DCloud使用小结
  20. caxa电子图板2022软件

热门文章

  1. robo3t 连接服务器数据库_Win7上安装 MongoDB、Robo 3T及vn.py
  2. 模型参数优化(四):交叉验证、网格搜索
  3. R语言:rep函数解析
  4. EOS资源模型(1)资源说明
  5. buu RSAroll
  6. [HOW TO]-从github拉取optee代码拉不下来怎么办?
  7. 2022-01-01
  8. html正则表达式search,正则表达式解析关键字和标签的搜索字段([])
  9. 研究.jpg图片马赛克问题
  10. 破解简单的Android签名检查