使用WHERE子句,将不满足条件的行过滤掉。
WHERE 子句紧随 FROM 子句。
where过滤
字符和日期
l 字符和日期要包含在单引号中。
l 字符大小写敏感,日期格式敏感。
l 默认的日期格式是 DD-MON月-RR。
16、限制日期、字符串查询
select last_name,department_id
from employees
where last_name= 'Whalen'--注意,字符串大小写敏感,放在单引号中
select last_name,department_id,hire_date
from employees
where hire_date= '7-6月-1994'--日期也应该放在单引号中,默认格式是DD-MON月-RR
比较运算
操作符 |
含义 |
= |
等于 (不是 ==) |
> |
大于 |
>= |
大于、等于 |
< |
小于 |
<= |
小于、等于 |
<> |
不等于 (也可以是 !=) |
注意:赋值使用 := 符号
17、比较限制查询
select salary
from employees
where salary > 5000
其它比较运算
操作符 |
含义 |
BETWEEN...AND... |
在两个值之间 (包含边界) |
IN(set) |
等于值列表中的一个 |
LIKE |
模糊查询 |
IS NULL |
空值 |
l between……and……
使用 BETWEEN运算来显示在一个区间内的值。
l in
使用 IN运算显示列表中的值。
l like
n 使用 LIKE运算选择类似的值
n 选择条件可以包含字符或数字:
n % 代表零个或多个字符(任意个字符)。
n _ 代表一个字符。
n %和_可以同时使用
n 可以使用 ESCAPE标识符 选择‘%’和 ‘_’ 符号。回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE‘\’]即可。
l NULL
使用 IS (NOT) NULL判断空值。
18、between-and
select salary
from employees
where salarybetween 5000 and 10000--包含了边界的
19、In
select last_name,salary
from employees
where salaryin(5000,6000,7000)--相当于几个等于 比较的或
20、模糊查询like
使用 LIKE运算选择类似的值
选择条件可以包含字符或数字:
% 代表零个或多个字符(任意个字符)。
_ 代表一个字符。
ESCAPE
回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE‘\’]即可。
select last_name
from employees
where last_namelike '_a\_%' escape '\'--%表示可省略但不一定有省略,_表示略过一个字符,
--escape '\'表示\作为转义,这里就是作为转义表示_
21、空查询
select last_name,salary
from employees
where salaryis not null--不为空值
逻辑运算
操作符 |
含义 |
AND |
逻辑并 |
OR |
逻辑或 |
NOT |
逻辑否 |
l AND
AND 要求并的关系为真。
l OR
OR 要求或关系为真。
l NOT
取相反
优先级
越高越优先
优先级 |
运算符 |
1 |
算术运算符 |
2 |
连接符 |
3 |
比较符 |
4 |
IS [NOT] NULL, LIKE, [NOT] IN |
5 |
[NOT] BETWEEN |
6 |
NOT |
7 |
AND |
8 |
OR |
可以使用括号改变优先级顺序。
Order by排序
ORDER BY子句
l ASC(ascend):升序
l DESC(descend):降序
l ORDER BY 子句在SELECT语句的结尾。
l 默认排序方式是:ASC(升序)
22、降序排序
select salary
from employees
order by salary desc--在select末尾,order by 属性 排序方式
23、多级排序
第一个属性排序之后有相等的属性,再用另外一个属性对这些相同的进行排序。
select department_id,salary
from employees
order by salary desc,department_id asc--直接逗号隔开,再写。先按salary排序,再按department_id排序
24、别名排序
临时出现的列,给它别名,然后用这个别名排序。
select department_id,salary,salary*12 "年薪"
from employees
order by 年薪