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. Vue编译时写在style中的路径问题

    写在vue文件里面的style样式,在添加例如背景图片的时候,如果用的是相对路径,那么build出来的css文件的路径将会出错,导致找不到图片. 通过查找资料,在https://segmentfaul ...

  2. Cocos2D-HTML5 Android项目编译

    首先要有 Eclipse 和 ADT.CDT.Android SDK.Android NDK.新建一个文件MoonWar_Apk.cmd,将以下代码拷贝其中,双击之即可. set EngineHome ...

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

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

  4. Azure 4月新公布

    Azure 4 月新发布:Linux 上的 Azure Service Fabric 公共预览版正式发布:Azure 物联网套件新增设备管理功能:计量名称变更 Linux 上的 Azure Servi ...

  5. php的yii框架开发总结2

    开发流程:1.用yii创建网站目录,当时用命令行创建时遇到了问题,试了很久才找到原因:我的原因是在yii/framework/yiic.bat这个文件中的一条语句: if "%PHP_COM ...

  6. JAVA StringBuffer的用法

    在使用StringBuffer 的时候,习惯性的像String一样把他初始化了 StringBuffer result = null; 结果警告:Null pointer access: The va ...

  7. 微信小程序实现获得用户手机号

    具体操作方法如下: 使用方法 需要将 <button> 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumb ...

  8. react+webpack 引入字体图标

    在使用react+webpack 构建项目过程中免不了要用到字体图标,在引入过程中报错,不能识别字体图标文件中的@符,报错 Uncaught Error: Module parse failed: U ...

  9. Selenium入门13 cookie的增删改查

    cookie的增删改查: 查询:get_cookies()查询所有cookie,get_cookie(cookie的name)获取单个cookie 删除:delete_cookie(cookie的na ...

  10. SQL:数据库批量插入数据

    测试中有些功能要求有足够的数据进行测试,当输入字段较多时通过页面添加很慢.业务只关联单个数据库表可以通过数据库批量插入数据 批量插入数据示例: declare @i int--声明变量 --变量初始化 ...