SQL WHERE 子句


SQL WHERE 子句用于在从单个表中获取符合条件的数据集。

WHERE 子句不仅可以用在 SELECT 语句中,也可以用在 UPDATE、DELETE 语句等中。

语法


带有 WHERE 子句的 SELECT 语句的基本语法如下所示:

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition]

你可以使用比较或逻辑运算符像>、<、=、LIKENOT等。下面的例子将使这个概念清楚。

例子


考虑具有以下记录的 CUSTOMERS 表:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

以下代码是从 CUSTOMERS 表中获取 ID、Name 和 Salary 字段的示例,其中工资大于 2000:

SQL> SELECT ID, NAME, SALARY 
FROM CUSTOMERS
WHERE SALARY > 2000;

这将产生以下结果:

+----+----------+----------+
| ID | NAME     | SALARY   |
+----+----------+----------+
|  4 | Chaitali |  6500.00 |
|  5 | Hardik   |  8500.00 |
|  6 | Komal    |  4500.00 |
|  7 | Muffy    | 10000.00 |
+----+----------+----------+

以下查询是一个示例,它将从 CUSTOMERS 表中为具有姓名的客户获取 ID、Name 和 Salary 字段Hardik.

在这里,重要的是要注意所有字符串都应该放在单引号 ('') 内。而在上面的例子中,数值应该不带任何引号。

SQL> SELECT ID, NAME, SALARY 
FROM CUSTOMERS
WHERE NAME = 'Hardik';

这将产生以下结果:

+----+----------+----------+
| ID | NAME     | SALARY   |
+----+----------+----------+
|  5 | Hardik   |  8500.00 |
+----+----------+----------+