本节主要使用WHERE语句筛选数字类型的属性。
条件查询语法
SELECT column, another_column, …
FROM mytable
WHERE condition
AND/OR another_condition
AND/OR …;
注:这里的 condition 都是描述属性列的,具体会在下面的表格体现。
AND or OR 这两个关键字来组装多个条件(表示并且,或者)。
常用的条件查询
Operator(关键字) | SQL Example(例子) |
---|---|
=, !=, < <=, >, >= | col_name != 4 |
BETWEEN … AND … | col_name BETWEEN 1.5 AND 10.5 |
NOT BETWEEN … AND … | col_name NOT BETWEEN 1 AND 10 |
IN (…) | col_name IN (2, 4, 6) |
NOT IN (…) | col_name NOT IN (1, 3, 5) |
越是精确的条件筛选,会让结果更容易理解,同时因为条件在返回之前筛掉不必要的结果,SQL的运行速度也会快很多。
练习题
1. 找到id为6的电影数据
练习题出自自学SQL。
SELECT * FROM movies WHERE id = 6;
查询id为6的整行数据
2. 找到在2000~2001年上映的电影
SELECT * FROM movies WHERE year BETWEEN 2000 AND 2010;
3. 找到不在2000~2001年上映的电影
SELECT * FROM movies WHERE year NOT BETWEEN 2000 AND 2010;
4. 找到头5部电影
SELECT * FROM movies WHERE id <= 5;
5. 找到2010(含)年之后的电影里片长小于两个小时的片子
SELECT * FROM movies WHERE year >= 2010 AND Length_minutes < 120;
6. 找到99年和09年的电影,只要列出年份和片长看下
SELECT year,Length_minutes FROM movies WHERE year = 1999 OR year = 2009;