SQL - WHERE 子句

  • 简述

    SQLWHERE子句用于在从单个表中获取数据或通过连接多个表时指定条件。如果满足给定条件,则仅从表中返回特定值。您应该使用 WHERE 子句过滤记录并仅获取必要的记录。
    WHERE 子句不仅用于 SELECT 语句,还用于 UPDATE、DELETE 语句等,我们将在后续章节中进行研究。
  • 句法

    带有 WHERE 子句的 SELECT 语句的基本语法如下所示。
    
    SELECT column1, column2, columnN 
    FROM table_name
    WHERE [condition]
    
    您可以使用比较或逻辑运算符(如 >、<、=、LIKE, NOT等等。下面的例子将使这个概念变得清晰。
  • 例子

    考虑具有以下记录的 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、姓名和薪水字段Hardik.
    在这里,重要的是要注意所有字符串都应该在单引号 ('') 内给出。然而,如上例所示,应给出不带引号的数值。
    
    SQL> SELECT ID, NAME, SALARY 
    FROM CUSTOMERS
    WHERE NAME = 'Hardik';
    
    这将产生以下结果 -
    
    +----+----------+----------+
    | ID | NAME     | SALARY   |
    +----+----------+----------+
    |  5 | Hardik   |  8500.00 |
    +----+----------+----------+