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. spring笔记3-AOP

    一.概述 AOP:(Aspect Oriented Programming)即:面向切面编程.把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法 ...

  2. 拖拽事件--select外边框拖拽

    地图上面的搜索框要可拖拽 但是搜索框是有点击事件的,点击显隐下拉菜单,如果拖拽的事件源选择select框的话,会有样式(十字拖动符cursor:move与selelt默认点击的箭头)冲突 思索良久,就 ...

  3. window下隐藏apache版本和PHP脚本等敏感信息

    隐藏Apache信息 1.1 主配置中启用httpd-default.conf 文件: conf/httpd.Conf 找到httpd-default.conf,删除前面的注释“#”,改成如下 Inc ...

  4. [原创]在Windows Server 2019上配置NAS

    序言 此教程安装的都是最新版本的.由于是当NAS让它非常稳定的运行,所以能不安装的软件尽量不要安装. 一.准备工作 [更新系统] 没啥,就他喵想用个最新的. 右键点击开始键->设置->更新 ...

  5. [原创]Debian9 安装配置MariaDB

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  6. JavaScript 获取数组的最大值和最小值

    js获取数组最大值和最小值 使用apply方法: var a = [1,2,3,5]; console.log(Math.max.apply(null, a));//最大值 console.log(M ...

  7. Node.js-ReferenceError: _filename is not defined

    简直不要被坑得太惨!!!你能?看出来这前面是两根下划线!两根下划线!两根下划线!太尴尬了~找了半天原因居然是这个!

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

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

  9. API:相关词语笔记

    1.SDK 软件开发套件,接口服务器把接口开发之后,把怎么使用的示范代码弄出来给API客户端的开发者参考. 2.头部信息 对头部信息的特殊符号有要求,例如: 持续更新中....

  10. windows server 安装之后需要做的操作

    一.运行windows update安装更新 提示: 若一直停留在“正在检查更新”,请参考https://answers.microsoft.com/zh-hans/windows/forum/win ...