mysql学习第一天select
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的更多相关文章
- mysql 学习第一天
RDBMS 术语 在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语: 数据库: 数据库是一些关联表的集合. 数据表: 表是数据的矩阵.在一个数据库中的表看起来像一个简单的电子表格 ...
- mysql学习第一天
Mysql语句语法 一.数据库定义语句(DDL) 1.alter database 语法 alter database 用于更改数据库的全局特性,这些特性存储在数据库目录中的db.opt文件中.要使用 ...
- MySQL学习笔记:select语句性能优化建议
关于SQL中select性能优化有以下建议,仅当笔记记录. 1.检查索引:where.join部分字段都该加上索引 2.限制工作数据集的大小:利用where字句过滤 3.只选择需要的字段:减少IO开销 ...
- mysql学习(1)
开始我们基础的mysql学习 第一部分:补充知识 1. 昨天讲到的mysql初始化密码为空,今天又get到一种新的方法 Mysql安装后需要做的 Mysql安装成功后,默认的root用户密码为空,你可 ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(七) 查询
我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(八) 插入 更新 删除
我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...
- 我的MYSQL学习心得(九) 索引
我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- 零基础逆向工程35_Win32_09_临界区_CRITICAL_SECTION结构
1 引入 为什么会存在临界区这中机制呢?是为多线程同时访问全局变量而引入的.也就是上一篇帖子的末尾流出的问题程序的解决办法. 看懂了上面的,那么我们再罗嗦总结一下: 1.多线程访问全局变量时,存在线程 ...
- 转:ArcGIS10.1正式版安装与破解
一.准备文件 ArcGIS10.1安装包:ArcGIS_Desktop_10.1_129026(en) 认证服务:Pre-release_license_manager 注册机:arcgis10.1K ...
- SharePoint 2010 技术参数(整理)
今天整理一些 SharePoint 2010 的技术参数,其内容都来自 SharePoint-Sandbox 网站. 有些参数值是硬性的,比如列表单条记录的尺寸:而有些是为了使用和性能考虑的推荐值. ...
- 监控系统 - mk-livestatus
/usr/bin/unixcat /usr/lib64/check_mk/livestatus.o /etc/xinetd.d/livestatus service livestatus { type ...
- windows 2008 R2-Zabbix server 3.0监控主机的加入
一.关闭windows防火墙或者开通10050和10051端口 (1).关闭防火墙 开始—控制面板—windows防火墙 按照要求关闭防火墙 (2).开通端口 1.开始—管理工具--高级安全windo ...
- 【js基础修炼之路】— 深入浅出理解闭包
之前对于闭包的理解只是很肤浅的,只是浮于表面,这次深究了一下闭包,下面是我对闭包的理解. 什么是闭包? 引用高程里的话 => 闭包就是有权访问另一个作用域中变量的函数,闭包是由函数以及创建该函数 ...
- PHP @ at 记号的作用
看PHP的代码,总有些行前边有@符号,一直不知道是什么意思. 例如dede5.7 @$ni=imagecreatetruecolor($ftoW,$ftoH); 今天用到了,就记一下吧.其实它 ...
- Radix Sort
为了完成二维数据快速分类,最先使用的是hash分类. 前几天我突然想,既然基数排序的时间复杂度也不高,而且可能比hash分类更稳定,所以不妨试一下. 在实现上我依次实现: 1.一维数组基数排序 基本解 ...
- MYSQL 之SET GLOBAL innodb_buffer_pool_size =n
工作遇到一个情况是索引相同的情况下,mysql服务在linux上运行很快,在windows服务器上运行很慢,版本是V5.7以后得版本,同事查找了下说应该设置 SET GLOBAL innodb_buf ...
- Uva 12299 带循环移动的RMQ(线段树)
题目链接:https://vjudge.net/contest/147973#problem/C 题意:传统的RMQ是一个不变的数组a求区间最值.现在要循环移动(往前移动). 分析:求区间问题,很容易 ...