WHERE 条件查询

WHERE 概述

WHERE 是Oracle的条件查询子句,用来过滤数据,只返回满足搜索条件的行记录。

语法顺序重点:
WHERE 写在FROM之后,ORDER BY之前

完整语法

SELECT
    column1,
    column2,
    ...
FROM
    tablename
WHERE
    search_condition
ORDER BY
    column1,
    column2;

比较运算符

运算符描述
=等于
!= , <>不等于
>大于
<小于
>=大于或等于
<=小于或等于
IN等于列表中任意一个值
NOT IN不等于列表中的任意值
[NOT] BETWEEN n AND m判断是否在区间范围内
[NOT] EXISTS判断子查询是否有返回行
IS [NOT] NULL判断NULL值

代码示例

等值查询
SELECT
    id,
    name,
    sex
FROM
    student
WHERE
    name = 'tom';Code language: JavaScript (javascript)

Oracle执行输出:

SQL> select * from student where name = 'tom';

        ID NAME       SEX
---------- ---------- ----
         1 tom   男Code language: JavaScript (javascript)
数值比较,id大于20
SELECT
    *
FROM
    student
WHERE
    id > 20;
逻辑或 OR
SQL> select * from student where id>1 or name = 'jim';

        ID NAME       SEX
---------- ---------- ----
         2 jim       男
         3 lisa      女Code language: JavaScript (javascript)
IN 集合匹配
SELECT
    *
FROM
    student
WHERE
    id IN(1,4)
ORDER BY
    name;

执行输出:

SQL> select * from student where id in(1,3);

        ID NAME       SEX
---------- ---------- ----
         1 tom        男
         3 lisa       女Code language: JavaScript (javascript)
LIKE模糊查询
SELECT
    *
FROM
    student
WHERE
    name LIKE 'l%'
ORDER BY
    name;Code language: JavaScript (javascript)

%为通配符,'l%'代表匹配以“l”开头的字符串。

重要提示:

  1. 字符串类型条件值,必须使用单引号包裹,如 name = 'jim'
  2. WHEREORDER BY前面,不能调换顺序。
  3. 判断空值不能用= NULL,要使用IS NULL

Previous:
Next:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注