在SELECT语句中,可以通过WHERE子句对数据进行过滤。
WHERE子句在表名(FROM子句)之后给出。
Students表:
+----+----------+------+--------+-------+ | id | class_id | name | gender | score | +----+----------+------+--------+-------+ | 1 | 1 | 小明 | M | 90 | | 2 | 1 | 小红 | F | 95 | | 3 | 1 | 小军 | M | 88 | | 4 | 1 | 小米 | F | 73 | | 5 | 2 | 小白 | F | 81 | | 6 | 2 | 小兵 | M | 55 | | 7 | 2 | 小林 | M | 85 | | 8 | 3 | 小新 | F | 91 | | 9 | 3 | 小王 | M | 89 | | 10 | 3 | 小丽 | F | 88 | +----+----------+------+--------+-------+
SELECT name,score FROM Students WHERE score >= 90; +------+-------+ | name | score | +------+-------+ | 小明 | 90 | | 小红 | 95 | | 小新 | 91 | +------+-------+
下面列出了SQL支持的条件操作符:
=:等于操作符,用于比较两个值是否相等。 < >:不等于操作符,用于比较两个值是否不相等。 !=:不等于操作符,与< >功能相同,用于比较两个值是否不相等。 <:小于操作符,用于比较一个值是否小于另一个值。 <=:小于等于操作符,用于比较一个值是否小于或等于另一个值。 !:不小于操作符,与<=功能相反,用于比较一个值是否不小于另一个值。 >:大于操作符,用于比较一个值是否大于另一个值。 >=:大于等于操作符,用于比较一个值是否大于或等于另一个值。 !>:不大于操作符,与>=功能相反,用于比较一个值是否不大于另一个值。 BETWEEN:在指定的两个值之间操作符,用于判断一个值是否在指定的两个值之间。 IS NULL:为NULL值操作符,用于判断一个值是否为NULL。
提示:
如果将值与字符串类型的列进行比较,需要限定引号,用来与数值列进行比较的值不用引号。
SELECT name,gender,score FROM Students WHERE gender = 'M'; +------+--------+-------+ | name | gender | score | +------+--------+-------+ | 小明 | M | 90 | | 小军 | M | 88 | | 小兵 | M | 55 | | 小林 | M | 85 | | 小王 | M | 89 | +------+--------+-------+
要检查某个范围的值,可以使用BETWEEN操作符。
BETWEEN操作符需要两个值,即范围的开始值和结束值,用AND分隔。
SELECT name,score FROM Students WHERE score BETWEEN 90 AND 100; +------+-------+ | name | score | +------+-------+ | 小明 | 90 | | 小红 | 95 | | 小新 | 91 | +------+-------+