emp、dept表

DROP TABLE IF EXISTS `dept`;

CREATE TABLE `dept` (

`DEPTNO` int(2) NOT NULL,

`DNAME` varchar(14) DEFAULT NULL,

`LOC` varchar(13) DEFAULT NULL,

PRIMARY KEY (`DEPTNO`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- 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` (

`EMPNO` int(4) NOT NULL,

`ENAME` varchar(10) DEFAULT NULL,

`JOB` varchar(9) DEFAULT NULL,

`MGR` int(4) DEFAULT NULL,

`HIREDATE` date DEFAULT NULL,

`SAL` int(7) DEFAULT NULL,

`COMM` int(7) DEFAULT NULL,

`DEPTNO` int(2) DEFAULT NULL,

PRIMARY KEY (`EMPNO`),

KEY `FK_DEPTNO` (`DEPTNO`),

CONSTRAINT `FK_DEPTNO` FOREIGN KEY (`DEPTNO`) REFERENCES `dept` (`DEPTNO`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

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

-- 第一章
-- 查询所有员工编号
SELECT EMPNO
FROM emp;
-- 第二章
-- SELECT empno,ename,deptno
-- FROM emp;

-- SELECT *
-- FROM emp;

-- 练习1
SELECT empno,ename,job,sal,deptno
FROM emp;

-- 2.查询员工工资增加100元后的情况
SELECT sal + 100,sal -100,sal*2,sal/3
FROM emp;

-- 3.查询员工一年工资再加上100的结果
SELECT sal*2+100
FROM emp;

-- 4.查询员工每个月提高100元后的年工资收入
SELECT 12*(sal+100)
FROM emp;

-- 练习2
-- 1.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。
SELECT sal*1.2
FROM emp;
-- 2.员工试用6个月,转正后的月薪上调20%,
-- 请查询出所有员工工作一年的年薪所得(不考虑奖金部分,年薪的使用期为6个月的月薪+转正后6个月的月薪)
SELECT sal*6+SAL*6*1.2
FROM emp;

-- 5.求员工月收入
SELECT sal + COALESCE(comm,0)总收入
FROM emp;

-- 练习3
-- 员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖金部分),要求显示列标题为员工姓名、工资收入、奖金收入、总收入
SELECT ename 员工姓名,sal*6+sal*6*1.2 工资收入,COALESCE(comm,0)*6 奖金收入,sal*6+sal*1.2*6+COALESCE(comm,0)*12
FROM emp;
-- 6.从emp表中查询有哪些部门
SELECT DISTINCT deptno
FROM emp;

-- 练习4
-- 1.查询员工表中一共有哪几种岗位类型
SELECT DISTINCT job
FROM emp;

-- 练习5
-- 查看表结构

DESC emp;

-- 查询在20部门工作的员工信息
SELECT *
FROM emp
where deptno = 20;

-- 8.查询职位是CLERK的员工信息
SELECT *
FROM emp
where job = 'CLERK';

-- 9、查询入职日期在1980年1月1日以后入职的员工信息
SELECT *
FROM emp
where HIREDATE > '1980-01-01';

-- 练习6
-- 查询职位为SALESMAN的员工编号、职位、入职日期
SELECT EMPNO,JOB,HIREDATE
FROM emp
WHERE JOB = 'SALESMAN';
-- 2、查询1985年12月31日之前入职的员工姓名及入职日期
SELECT ename,hiredate
FROM emp
where hiredate <= '1985-12-31';
-- 3、查询部门编号不在10部门的员工姓名、部门编号
SELECT ENAME,DEPTNO
FROM emp
WHERE DEPTNO <> 10;

-- 10、查询工资在1000到1500之间的员工信息
SELECT *
FROM emp
where SAL BETWEEN 1000 AND 1500;

-- 查询7902、7566、7788所管理的员工信息
SELECT *
FROM emp
WHERE MGR in(7902,7566,7788);

-- 练习7
-- 1、查询入职日期在82年至85年的员工姓名、员工日期
SELECT ENAME,HIREDATE
FROM emp
WHERE HIREDATE BETWEEN '1982-01-01' AND '1985-12-31';
-- 2、查询月薪在3000到5000的员工姓名、月薪
SELECT ENAME,SAL
FROM emp
WHERE SAL BETWEEN 3000 AND 5000;

-- 3、查询部门编号为10或者20的员工姓名、部门编号
SELECT ENAME,DEPTNO
FROM emp
WHERE DEPTNO in(10,20);
-- 4、查询经理编号为7902、7566、7788的员工姓名、经理编号
SELECT ENAME,MGR
FROM emp
WHERE MGR IN(7902,7566,7788);

-- 12、查询姓名中以S开头的员工信息
SELECT *
FROM emp
where ENAME LIKE 'S%';
-- 13、查询姓名中第二个字母是L的员工信息
SELECT *
FROM emp
WHERE ENAME LIKE '_L%';

-- 查询姓名中包含S的员工信息
SELECT *
FROM emp
WHERE ENAME LIKE '%S%';

-- 15、查询职位以MAN_开头的雇员信息
SELECT *
FROM emp
WHERE JOB LIKE 'MAN@_%' ESCAPE '@';

mysql学习第一天select的更多相关文章

  1. mysql 学习第一天

    RDBMS 术语 在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语: 数据库: 数据库是一些关联表的集合. 数据表: 表是数据的矩阵.在一个数据库中的表看起来像一个简单的电子表格 ...

  2. mysql学习第一天

    Mysql语句语法 一.数据库定义语句(DDL) 1.alter database 语法 alter database 用于更改数据库的全局特性,这些特性存储在数据库目录中的db.opt文件中.要使用 ...

  3. MySQL学习笔记:select语句性能优化建议

    关于SQL中select性能优化有以下建议,仅当笔记记录. 1.检查索引:where.join部分字段都该加上索引 2.限制工作数据集的大小:利用where字句过滤 3.只选择需要的字段:减少IO开销 ...

  4. mysql学习(1)

    开始我们基础的mysql学习 第一部分:补充知识 1. 昨天讲到的mysql初始化密码为空,今天又get到一种新的方法 Mysql安装后需要做的 Mysql安装成功后,默认的root用户密码为空,你可 ...

  5. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  7. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  8. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  9. 我的MYSQL学习心得(九) 索引

    我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. OC跟Swift混编

    OC项目中使用Swift 本文版权归作者所有,如需转载请联系孟祥月 CSDN博客:http://blog.csdn.net/mengxiangyue  独立博客:http://mengxiangyue ...

  2. HTML5开发,背后的事情你知道吗?

    现在的H5越来越受到企业或者是开发者的一个大力的追捧,已经成为网络推广必不可少的一个使用的工具,相信还有很多朋友现在都不知道H5是个什么东西,本文将为大家讲的是关于H5一些分类的问题,让你进一步的去学 ...

  3. 笨办法学Python(二十六)

    习题 26: 恭喜你,现在可以考试了! 你已经差不多完成这本书的前半部分了,不过后半部分才是更有趣的.你将学到逻辑,并通过条件判断实现有用的功能. 在你继续学习之前,你有一道试题要做.这道试题很难,因 ...

  4. POJ-1509 Glass Beads---最小表示法模板

    题目链接: https://vjudge.net/problem/POJ-1509 题目大意: 给你一个循环串,然后找到一个位置,使得从这个位置开始的整个串字典序最小. 解题思路: 最小表示法模板 注 ...

  5. Android(java)学习笔记65:Clock App 编写报错02

    1. 首先之间看错误: 07-13 10:07:55.354: E/AndroidRuntime(8008): FATAL EXCEPTION: main 07-13 10:07:55.354: E/ ...

  6. 背包问题模板,POJ(1014)

    题目链接:http://poj.org/problem?id=1014 背包问题太经典了,之前的一篇博客已经讲了背包问题的原理. 这一个题目是多重背包,但是之前的枚举是超时的,这里采用二进制优化. 这 ...

  7. 网格中的BFS,逆向(POJ2049)

    题目链接:http://poj.org/problem?id=2049 解题报告: 网格中的BFS,最主要的是边界问题. 1.这里在左右,上下两个方向上,分别判断墙,和门,细节是,向上有t个墙,for ...

  8. 我对XCode Objective

    我对XCode Objective-c Cocoa的简单理解 Xcode Xcode说的通俗一点就是开发OS X 和 iOS 应用程序的. 如果我们想要认真点说 ,Xcode 是运行在操作系统Mac ...

  9. python 添加 threadpool

    操作系统: Ubuntu 10.04 python安装依赖的软件包: python 出现 ImportError: No module named ** 我这里出现了: ImportError: No ...

  10. open cv & vs

    原来基于vs和msdn一起读视频,结果发现现在的函数不能用了.找不到合适的解码器了,只好转战opencv. 具体怎么用,网上查吧,不过opencv读视频的例子,可以见这个. http://blog.c ...