1:emp表中查询公司总共有几个部门
注意,会查询出来大量重复的,使用函数distinct
select distinct job from scott.emp;

2:查询公司工资在1000-3000之间的人有哪些
使用函数between ...and..
select * from scott.emp where sal between 3000 and 5000;

3:查询公司没有奖金的人
使用null 和“” 不一样
select * from scott.emp where comm is null;

4:查询公司员工职位是'manager','clerk' 的人
select * from scott.emp where lower(job) in('manager','clerk');
查询不是这两个职位的人
select * from scott.emp where upper(job) not in('MANAGER','CLERK');

5:查询工资最高的人
查询每个部门工资最高的人?--分组查询
select deptno,max(sal) from scott.emp group by deptno ;
完整版
29:-每个部门的最高薪水是多少
select * from scott.emp where (deptno,sal) in (select deptno,max(sal) from scott.emp group by deptno);

7:-查询比20部门总人数多的部门
select deptno from scott.emp group by deptno having count(*) >(select count(*) from scott.emp where deptno=20);

13:薪水由高到低排序( 降序排列 )
select empno,ename,sal from scott.emp order by sal desc;
14-按入职时间排序 , 入职时间越早排在前面
select hiredate from scott.emp order by hiredate;
15按部门排序 , 同一部门按薪水由高到低排序
select deptno,sal from scott.emp order by deptno,sal desc;
16计算员工的薪水总和是多少?sum()
select sum(sal)+sum(comm) from scott.emp;
17计算最早和最晚的员工入职时间
select min(hiredate),max(hiredate) from scott.emp;

(查最早和最晚入职的人的信息)
select * from emp where hireDate in (select max(hireDate) from emp)
UNION
select * from emp where hireDate in (select min(hireDate) from emp)

18按部门计算每个部门的最高和最低薪水分别是多少
select deptno,max(sal),min(sal) from scott.emp group by deptno order by deptno;

19计算每个部门的 薪水总和 和 平均薪水?
select deptno,sum(sal),avg(sal) from scott.emp group by deptno;

20按职位分组 , 每个职位的最高、最低薪水和人数?
select job,max(sal),min(sal),count(*) from scott.emp group by job;

21平均薪水大于5000元的部门数据`
select deptno,avg(sal) from scott.emp group by deptno having avg(sal)>2000;
22薪水总和大于20000元的部门数据
select deptno,sum(sal) from scott.emp group by deptno having sum(sal)>10000;
23:哪些职位的人数超过2个人
select job,count(*) from scott.emp group by job having count(*)>2;

24:查询最高薪水的是谁?-查询最低薪水的员工
select ename from scott.emp where sal=(select max(sal) from scott.emp);

25:谁的工资比smith高
select ename from scott.emp where sal>(select sal from scott.emp where lower(ename)='smith');

26销售部门有哪些职位存在
select job from scott.emp where deptno=(select deptno from scott.dept where lower(dname)='sales');

--思考:
-- 谁的工资比smith高这道题目中如果存在两个角simth的人会怎么样?
--all:满足全部
--any:任意一个
insert into scott.emp(empno,ename,sal) values(9527,'smith',888);

select ename from scott.emp where sal>all(select sal from scott.emp where lower(ename)='smith');

27-查询谁和smith是同一个部门的员工
select empno,ename,deptno from scott.emp where deptno=(select deptno from scott.emp where lower(ename)='smith');

28查询谁是员JAMES的下属
select empno,ename from scott.emp where mgr in(select mgr from scott.emp where lower(ename)='james');

30哪个部门的人数比部门20的人数多
select deptno,count(*) from scott.emp group by deptno having count(*)>
(select count(*) from scott.emp where deptno=20);

31:哪些员工的薪水比公司的平均薪水低?
select empno,ename from scott.emp where sal<(select avg(sal) from scott.emp);

--------------------------------------------华丽的分割线-----------------------------------------------------------------

Navicat MySQL Data Transfer   员工管理

Source Server : wode
Source Server Version : 50022
Source Host : localhost:3306
Source Database : j121

Target Server Type : MYSQL
Target Server Version : 50022
File Encoding : 65001

Date: 2016-05-09 10:33:00
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `dept`
-- ----------------------------
DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (
`deptNo` int(11) NOT NULL,
`dname` varchar(20) default NULL,
`loc` varchar(40) default NULL,
PRIMARY KEY (`deptNo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of 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');

-- ----------------------------
-- Table structure for `emp`
-- ----------------------------
DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp` (
`id` int(11) NOT NULL auto_increment,
`empno` int(11) default NULL,
`eName` varchar(20) default NULL,
`job` varchar(10) default NULL,
`mgr` int(11) default NULL,
`hireDate` date default NULL,
`sal` decimal(7,2) default NULL,
`comm` decimal(7,2) default NULL,
`deptNo` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `FK_emp_deptNo` (`deptNo`),
CONSTRAINT `FK_emp_deptNo` FOREIGN KEY (`deptNo`) REFERENCES `dept` (`deptNo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of emp
-- ----------------------------
INSERT INTO emp VALUES ('1', '7369', 'smith', 'clerk', '7902', '1980-12-17', '800.00', null, '20');
INSERT INTO emp VALUES ('2', '7499', 'allen', 'salesman', '7698', '1981-02-20', '1600.00', '300.00', '30');
INSERT INTO emp VALUES ('3', '7521', 'ward', 'salesman', '7698', '1981-02-22', '1250.00', '500.00', '30');
INSERT INTO emp VALUES ('4', '7566', 'jones', 'manager', '7839', '1981-04-02', '2975.00', null, '20');
INSERT INTO emp VALUES ('5', '7654', 'martin', 'salesman', '7698', '1981-09-28', '1250.00', '1400.00', '30');
INSERT INTO emp VALUES ('6', '7698', 'blake', 'manager', '7839', '1981-05-01', '2850.00', null, '30');
INSERT INTO emp VALUES ('7', '7782', 'clark', 'manager', '7839', '1981-06-09', '2450.00', null, '10');
INSERT INTO emp VALUES ('8', '7788', 'scott', 'analyst', '7566', '1987-07-31', '3000.00', null, '20');
INSERT INTO emp VALUES ('9', '7839', 'king', 'president', null, '1981-11-17', '5000.00', null, '10');
INSERT INTO emp VALUES ('10', '7844', 'turner', 'salesman', '7698', '1981-09-08', '1500.00', '0.00', '30');
INSERT INTO emp VALUES ('11', '7876', 'adams', 'clerk', '7788', '1987-07-13', '1100.00', null, '20');
INSERT INTO emp VALUES ('12', '7900', 'james', 'clerk', '7698', '1981-12-03', '950.00', null, '30');
INSERT INTO emp VALUES ('13', '7902', 'ford', 'analyst', '7566', '1981-12-03', '3000.00', null, '20');
INSERT INTO emp VALUES ('14', '7934', 'miller', 'clerk', '7782', '1982-02-23', '1300.00', null, '10');

mysql 基础列题的更多相关文章

  1. mysql 基础,列类型

  2. 听我的,看完这30道MySQL基础题再去面试

    可以微信搜索公众号「 后端技术学堂 」回复「1024」获取50本计算机电子书,回复「进群」拉你进读者技术交流群,文章每周持续更新,我们下期见! 一个典型的互联网产品架构包含接入层.逻辑处理层以及存储层 ...

  3. mysql基础: mysql列类型--字符串

    mysql列类型:整型   http://blog.csdn.net/jk110333/article/details/9342283 mysql列类型--时间和日期  http://blog.csd ...

  4. mysql 基础之CURD

    原文:mysql 基础之CURD 增删改查基本语法学习 增: insert Insert 3问: 1: 插入哪张表? 2: 插入哪几列? 3: 这几列分别插入什么值? Insert into Tabl ...

  5. Mysql基础代码(不断完善中)

    Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...

  6. MYSQL基础操作

    MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...

  7. mysql 基础篇5(mysql语法---数据)

    6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...

  8. MySQL基础学习总结

    1.MySQL基础概念 mysql逻辑架构如下: 每个客户端连接都会在服务器中拥有一个线程,这个连接的查询只会在这个单独的线程中执行. MySQL是分层的架构.上层是服务器层的服务和查询执行引擎,下层 ...

  9. MySQL基础(三)——约束

    MySQL基础(三)--约束 约束是在表上强制执行的数据校验规则,主要用于维护表中数据的完整性以及当数据之间有以来关系时,保护相关的数据不会被删除. 根据约束对列的限制,可以划分为:单列约束(只约束一 ...

随机推荐

  1. xtrabackup: error: last checkpoint LSN (3409281307) is larger than last copied LSN (3409274368)

    1.错误发生场景:使用2.4.1版本的xtrabackup工具进行全备,备份日志中报出此错误2.知识要点:MySQL中,redo 日志写进程会在三种条件下被触发从log buffer中写日志到redo ...

  2. mysql 获取当前日期及格式化 (转)

    MYSQL 获取当前日期及日期格式获取系统日期: NOW()格式化日期: DATE_FORMAT(date, format)注: date:时间字段format:日期格式 返回系统日期,输出 2009 ...

  3. CSS3 Gradient

    CSS3CSS3发布很久了,现在在国外的一些页面上常能看到他的身影,这让我羡慕已久,只可惜在国内为了兼容IE,让这一项技术受到很大的限制,很多Web前端人员都望而止步.虽然如此但还是有很多朋友在钻研C ...

  4. 【zz】matlab 求差集

    matlab判断2个数组中不同元素--setdiff c = setdiff(A, B) 返回在A中有,而B中没有的值,结果向量将以升序排序返回.在集合论中,c = A - B.A和B也可以是字符串细 ...

  5. Darlington Pair

    今天注意到在PWM输出电路中有个器件叫ULN2003,它是达林顿管阵列,该型号应该是通用型号,因为我看到ST和TI都有对应型号的产品. 达林顿管以前没听过,赶紧补一补,而所谓的阵列也就是八个达林顿管封 ...

  6. Python学习路程day20

    本节内容: 项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传 ...

  7. Android 与Unity交互之Toast消息

    Toast.makeText(MainActivity.this,message.obj.toString(),Toast.LENGTH_SHORT).show();这一句代码不能直接放在 publi ...

  8. Docker简明教程

    Docker简明教程 [编者的话]使用Docker来写代码更高效并能有效提升自己的技能.Docker能打包你的开发环境,消除包的依赖冲突,并通过集装箱式的应用来减少开发时间和学习时间. Docker作 ...

  9. Java的多态

    多态的定义: 同一种行为,在不同对象上有不同的表现形式 实现多态的条件: 要有继承 要有方法的重写 要有父类的引用指向子类的对象 代码如下: public class Animal { String ...

  10. linux中模块的构建,传参,和printk函数的简单使用

    静态编译,动态加载应用想访问内核需要通过系统调用 驱动:1.模块(打包,加入内核)2.内核机制3.操作硬件 在Kconfig里面配置menuconfig的时候,不同的类型会在图形化界面的终端显示不用的 ...