扫码一下
查看教程更方便
SQL WHERE语句用于从单个表或多个表获取数据的时候指定条件。如果满足给定条件,则从表中返回相应的值。我们应该使用 WHERE 子句来过滤记录并仅获取需要的记录。
WHERE 子句不仅用在 SELECT 语句中,也用在 UPDATE、DELETE 语句中,我们将在后续章节中进行介绍。
带有 WHERE 子句的 SELECT 语句的基本语法如下所示。
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]
可以使用比较或逻辑运算符(如 >、<、=、LIKE、NOT等)来指定条件。通过以下示例将更加清晰的了解WHERE的用法。
考虑具有以下记录的 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字段,其中要求 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 表中获取名为Hardik的客户的 ID、Name 和 Salary 字段。
在这里,重要的是要注意所有字符串都应该放在单引号 ('') 内。而在上面的例子中,数值应该不带任何引号。
SQL> SELECT ID, NAME, SALARY
FROM CUSTOMERS
WHERE NAME = 'Hardik';
结果如下
+----+----------+----------+
| ID | NAME | SALARY |
+----+----------+----------+
| 5 | Hardik | 8500.00 |
+----+----------+----------+