一,使用where选择限定的数据行
操作符 | 含义 |
= | 等于 |
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
<> | 不等于 |
-
select ename,job,deptno
-
from emp
-
where deptno =
20;
-
-
/*比较日期型数据*/
-
select ename,job
-
from emp
-
where hiredate >
'01-1月-85';
二,特殊比较运算符
(1)between...and... : 判断要比较的值是否在某个范围内
-
select ename,sal
-
from emp
-
where sal
between
1000
and
1500;
(2)in(集合列表) : 判断要比较的值是否和集合列表中的任何一个值相等
-
select empno,ename,sal,mgr
-
from emp
-
where mgr
in (
7902,
7566,
7788);
(3)like : 判断要比较的值是否满足部分匹配,也叫模糊查询
模糊查询中的两个通配符:%代表零个或者任意更多的字符;下划线(_)代表一个字符
-
select ename
-
from emp
-
where ename
like
'S%'
(4)is null : 判断要比较的值是否为空值null
-
select ename,mgr
-
from emp
-
where mgr
is
null
三,逻辑运算符
(1)and:逻辑与,用来连接多个条件表达式,每个条件表达式的结果为true,整个结果采薇true
(2)or : 逻辑或,连接多个条件表达式,只要有一个为true,整个结果就是true
(3)not : 逻辑非,用来对条件表达式取反
-
select ename,job
-
from emp
-
where job
not
in (
'CLERK',
'MANAGER',
'ANALYST')
逻辑非(not)运算符可以和between...and,like,is null(is not null)一起使用
(4)逻辑运算符的优先级,括号( )的优先级高于其他运算符,使用括号可以强制改变优先级
优先级 | 运算分类 | 运算符举例 |
1 | 算数运算符 | +,-,*,/ |
2 | 连接运算符 | || |
3 | 比较运算符 | =,<>,<,> |
4 | 特殊比较运算符 | between...and...,in,like,is null |
5 | 逻辑非 | not |
6 | 逻辑与 | and |
7 | 逻辑或 | or |
四,order by子句
使用order by子句能对查询结果集进行排序,其中ASC表示升序(默认值),DESC表示降序,order by 子句必须写在select语句的最后
1,排序规则:
数字升序排列小值在前,大值在后;
日期升序排列较早的日期在前;
字母升序排列按照字母由小到大的顺序排列,即由A——z排列;
空值在升序排列中排在最后,在降序排列中排在最前
SQL例子:
(1)查询结果按照日期降序排列
-
select ename,job,deptno
-
from emp
-
order
by hiredate
desc
(2)多列参与排序
-
select ename,job,sal
-
from emp
-
order
by deptno,sal
desc
order by 子句中可以写没有在select列表中出现的列,列名也可以使用数字代替,这个数字是select语句后面列的顺序号