MySQL数据查询、SELECT语句练习

有员工表emp如下:

 

有部门表dept表如下:

 

现做如下查询查询练习:

-- 1.查询员工一年的薪水
SELECT sal*12 FROM emp;

-- 2.查询员工一年的薪水,并且为查询的结果添加别名
SELECT sal*12 AS totals FROM emp;

-- 3.查询月薪大于2800的员工信息
SELECT * FROM emp WHERE sal>2000+800;

-- 4.除法计算
SELECT 20 DIV 3;
SELECT 30 DIV 3 AS result;

-- 5.取余运算
SELECT 20%3 AS result;
SELECT MOD(20,3) AS result;

-- 6.查询部门编号为10的员工信息
SELECT * FROM emp WHERE deptno=10;

-- 7.查询部门编号不为10的员工信息
SELECT * FROM emp WHERE deptno<>10;
SELECT * FROM emp WHERE deptno!=10;

-- 8.查询月薪在2k~3k之间的员工信息
SELECT * FROM emp WHERE sal>2000 AND sal<3000;

-- 9.查询部门编号为10或者20的员工信息
SELECT * FROM emp WHERE deptno=10 OR deptno=20;

-- 10.查询月薪在1k~2k之间的员工信息(BETWEEN AND中前面的数必须小于后面的数,不能反过来否则查询不出结果)
SELECT * FROM emp WHERE sal BETWEEN 1000 AND 2000;

-- 11.查询佣金为空的员工信息
SELECT * FROM emp WHERE comm IS NULL;

-- 12.查询佣金不为空的员工信息
SELECT * FROM emp WHERE comm IS NOT NULL;

-- 13.查询职位是经理(MANAGER)或者职员(CLERK)的员工信息
SELECT * FROM emp WHERE job IN('MANAGER','CLERK');

-- 14.查询职位不是经理(MANAGER)或者职员(CLERK)的员工信息
SELECT * FROM emp WHERE job NOT IN('MANAGER','CLERK');
SELECT * FROM emp WHERE job!='MANAGER' AND job!='CLERK';
SELECT * FROM emp WHERE job<>'MANAGER' AND job<>'CLERK';

-- 15.查询姓名中有字母's'的员工信息(模糊查询:'%'表示任意个字符,'_'表示任意一个字符)
-- 注:MySQL不区分大小写,查询出的记录中也可能有大写的'S'
SELECT * FROM emp WHERE ename LIKE '%s%';

-- 16.查询姓名第二个字母为'd'的员工信息
SELECT * FROM emp WHERE ename LIKE '_d%';

-- 17.查询姓名第三个字母为'n'的员工信息
SELECT * FROM emp WHERE ename LIKE '__n%';

-- 18.查询姓名倒数第二个字母为'e'的员工信息
SELECT * FROM emp WHERE ename LIKE '%e_';

-- 19.查询按照月薪升序排序出来的员工信息(注:默认就是升序ASC)
SELECT * FROM emp ORDER BY sal ASC;
SELECT * FROM emp ORDER BY sal;

-- 20.查询按照月薪降序排序出来的员工信息
SELECT * FROM emp ORDER BY sal DESC;

-- 21.查询员工信息,先按照sal升序排序,如果排到的sal值相同再按照ename降序排序
SELECT * FROM emp ORDER BY sal,ename DESC;

-- 22.合并查询emp表中员工姓名,月薪,职位以及dept表中的信息
-- 注:合并查询的列数必须相同否则报错
SELECT empno,sal,job FROM emp
UNION 
SELECT * FROM dept;
-- UNION 重复数据会被过滤掉

CREATE TABLE emp1 AS SELECT * FROM emp; -- 复制一张emp表

SELECT * FROM emp
UNION ALL
SELECT * FROM emp1;
-- UNION ALL 重复数据不会被过滤掉

-- 23.查询按照月薪(sal)降序排序的前五条记录
SELECT * FROM emp ORDER BY sal DESC LIMIT 5;
-- 默认从第一条(0)数据开始

-- 24.查询按照月薪(sal)降序排序的三四五条数据
SELECT * FROM emp ORDER BY sal DESC LIMIT 2,3;

-- 25.按照月薪(sal)降序排序,从第六条数据开始,查询5条记录
SELECT * FROM emp ORDER BY sal DESC LIMIT 5,5;

-- 分页查询思路:
-- pageNo(页数) pageSize=3(一页显示的记录条数:假设一页显示三条记录)
-- 第一页 0,3
-- 第二页 3,3
-- 第三页 6,3
-- 第四页 9,3
-- ...
-- 分页查询的LIMIT限制条件: LIMIT (pageNo-1)*pageSize,pageSize;

关注我的微信公众号,观看更多精彩内容:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值