2019-03-22 条件查询、特殊比较运算符、逻辑运算符、排序、分页

条件查询

-- 数值型条件
-- 查询10部门所有员工信息
select *
from emp
where deptno = 10;

-- 查询工资大于1500的员工信息
select *
from emp
where sal>1500;

-- 字符型条件
-- binary(用于区分大小写)
-- 查询SMITH的员工信息
select *
from emp
where binary ename ='SMITH';

-- 日期型:单引号,'年-月-日'
-- 查询在1981年后入职的员工信息
select *
from emp
where hiredate>'1981-12-31';

特殊比较运算符


-- between...and... 在什么什么之间
-- 查询工资在1500到3000之间的员工及工资
select ename,sal
from emp
where sal between 1500 and 3000 -- [1500,3000]

-- in (参数列表):等于参数列表中的任意一个
-- 查询10部门和20部门的员工姓名,工资,部门编号
select ename,sal,deptno
from emp
where deptno in (10,20);

-- like 像。。。模糊查询
-- % :代表任意多个字符
-- _ :代表一个字符

-- 查询姓名以S开通的所有员工信息
select *
from emp
where binary ename like 'S%';

-- 查询姓名以H结尾的所有员工信息
select *
from emp
where binary ename like '%H';

-- 查询姓名有A的所有员工信息
select *
from emp 
where binary ename like '%A%';

-- 查询姓名第二个字母是A的所有员工信息
select *
from emp 
where binary ename like '_L%';

-- 查询姓名倒数第三个字母是A的所有员工信息
select *
from emp 
where binary ename like '%A__';

-- ========================================
-- 使用like的的问题-->不要用like去通配时间
-- ========================================

-- is null:null不能作为比较条件
 

逻辑运算符

-- 逻辑运算符
-- and(&&) or(||) NOT
-- 查询20部门,工资高于1500
select *
from emp
where deptno=20 and sal>1500;

-- 查询20部门或工资高于1500
select *
from emp
where deptno=20 or sal>1500;

-- 查询工资在1500到3000之间并且20部门的员工信息
select *
from emp
where sal>=1500 and sal<=3000 and deptno=20;

-- and 和 or 的优先级问题:and 高于 or

-- not
-- 查询工资不在1500到3000之间的员工及工资
select ename,sal
from emp
where sal not between 1500 and 3000

排序

-- 排序
-- ①按照列名排序 asc 代表升序 desc 降序
select *
from emp
order by sal asc

select *
from emp
order by sal desc;

-- 查询30部门按照入职时间降序排序
select *
from emp
where deptno=30
ORDER BY hiredate desc;

-- ②按照列别名排序
select ename ,sal,comm,sal*10 年薪
from emp
where deptno=20
order by 年薪 desc;

-- ===========================
-- 注意:列别名不能在where中使用
-- ===========================

-- ③按照多列
-- 查询所有员工信息,要求部门升序工资降序
select *
from emp
order by deptno,sal desc;

-- ④按照列序号
select ename,sal
from emp
order by sal desc; 

select ename,sal
from emp
order by 2 desc ;

分页

-- 分页 limit(索引从哪开始,往下查几条)
-- 如查第6条的时候 到第十条 limt 5,5
select *
from emp
limit 0,5

null 的影响

not in (参数列表中有null),将无法使用;对非空无影响

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容