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. Eclipse常用设置和快捷键

    1.提示键配置一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项 ...

  2. staticmethod classmethod property方法

    @staticmethod 静态方法 函数修饰符,用来修饰一个函数,类似于装饰器 class Dog(object): def __init__(self,name): self.name = nam ...

  3. PCB仿真软件与电磁场求解器的算法

    1. 简介 目前商业化的PCB仿真软件主要有: Cadence公司的Sigrity.Ansys公司的SIwave/HFSS.CST公司的CST.Mentor公司的HyperLynx.Polor公司的S ...

  4. sqlalchemy的cascades

    http://docs.sqlalchemy.org/en/latest/orm/cascades.html class Order(Base): __tablename__ = 'order' it ...

  5. 金庸的武侠世界和SAP的江湖

    2018年10月30日晚,成都地铁一号线,Jerry手机app上突然弹出来一条金庸去世的新闻. Jerry识字很早,小学一年级就开始蹭我父亲的<射雕英雄传>看了.小时候,我爸工作的车间里有 ...

  6. 【转载】#349 - The Difference Between Virtual and Non-Virtual Methods

    In C#, virtual methods support polymorphism, by using a combination of the virtual and override keyw ...

  7. IOS xcode 离线帮助文档安装和安装路径

    将想要安装的xcode 帮助文档 版本,将 ‘帮助文档包’ 放入‘xcode 帮助文档安装路径’.再将Xcode软件重启. xcode 帮助文档安装路径: 在‘应用程序’->Xcode软件 右击 ...

  8. Linux 源码安装MariaDB 10.0.16

    cmake软件   tar -zxvf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./bootstrap make && make install     依 ...

  9. 【CCPC-Wannafly Winter Camp Day4 (Div1) C】最小边覆盖(简单题)

    点此看题面 大致题意: 给你一个边集的子集,问你这可不可能是这张图的最小边覆盖. 大致思路 考虑到,如果一条边连接的两个点度数都大于等于\(2\),则这条边完全可以删去. 因此,我们只要判断是否存在这 ...

  10. 【转】Android 组件系列-----Activity保存状态

    本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state. 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的 ...