📜  在 sql 中使用 where 限制查询结果(1)

📅  最后修改于: 2023-12-03 14:51:10.803000             🧑  作者: Mango

在 SQL 中使用 WHERE 限制查询结果

在 SQL 中,我们可以使用 WHERE 语句来限制查询结果,通过指定一个或多个条件来筛选出需要查询的数据。WHERE 语句通常会在 SELECT 语句的后面使用。本文将介绍如何在 SQL 中使用 WHERE 语句来限制查询结果。

语法
SELECT column1, column2, ...
FROM table_name
WHERE condition;

在上面的语法中,table_name 是你要查询的表格名字,column1, column2, ... 是你想要查询的列名。condition 是指定的一个或多个条件,在 WHERE 语句中用来过滤结果。

操作符

在 WHERE 语句中,我们可以使用以下比较操作符:

  • 等于 (=):用来指定一个值与另一个值相等,比如 WHERE name = 'John'
  • 不等于 (<>):用来指定一个值不等于另一个值,比如 WHERE age <> 20
  • 大于 (>)/大于等于 (>=):用来指定一个值大于或大于等于另一个值,比如 WHERE salary > 2000
  • 小于 (<)/小于等于 (<=):用来指定一个值小于或小于等于另一个值,比如 WHERE grade < 90
  • BETWEEN:用来指定一个范围值,在指定两个值之间,比如 WHERE age BETWEEN 20 AND 30
  • LIKE:用来指定一个模式,查找与该模式匹配的值,比如 WHERE name LIKE '%J%',找到所有包含“J”字母的人名。
  • IN:用来指定一个值清单,查找与该清单任意一个值相等的值,比如 WHERE age IN (20, 30, 40)
示例

考虑以下的数据表:

student
+----------+------+-------+-------+
| name     | age  | grade | class |
+----------+------+-------+-------+
| John     | 20   | 95    | A     |
| Amy      | 22   | 80    | B     |
| Sarah    | 21   | 90    | C     |
| David    | 20   | 70    | A     |
| Michael  | 23   | 85    | B     |
| Jessica  | 22   | 95    | C     |
| Daniel   | 21   | 80    | A     |
+----------+------+-------+-------+

以下是一些查询示例:

  • 查询所有学生的名字和年龄:

    SELECT name, age
    FROM student;
    
  • 查询年龄 大于 等于 21 的学生的名字和年龄:

    SELECT name, age
    FROM student
    WHERE age >= 21;
    
  • 查询班级为 “B” 的学生的名字、年龄和成绩:

    SELECT name, age, grade
    FROM student
    WHERE class = 'B';
    
  • 查询成绩在 80 到 90 之间的学生的名字和成绩:

    SELECT name, grade
    FROM student
    WHERE grade BETWEEN 80 AND 90;
    
  • 查询名字中包含 “a” 字母的学生的名字和班级:

    SELECT name, class
    FROM student
    WHERE name LIKE '%a%';
    
  • 查询年龄为 20 或 22 岁的学生的名字和年龄:

    SELECT name, age
    FROM student
    WHERE age IN (20, 22);
    
结论

通过 WHERE 语句,我们可以根据指定的条件来限制查询结果。在实际应用中,我们可以根据需要组合多个条件来查询数据。需要注意的是,在 WHERE 语句中,条件必须是布尔类型,也就是要么 True 要么 False,如果一个条件不满足,那么记录将不会被包含在查询结果中。