📅  最后修改于: 2023-12-03 14:51:10.803000             🧑  作者: Mango
在 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
。WHERE age BETWEEN 20 AND 30
。WHERE name LIKE '%J%'
,找到所有包含“J”字母的人名。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,如果一个条件不满足,那么记录将不会被包含在查询结果中。