条件查询
-- 数值型条件
-- 查询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),将无法使用;对非空无影响
网友评论