SQL在线练习网址:SQL在线练习
Lesson 2:条件查询(WHERE子句-数字类)
基本语句:
练习要点:
- 大写的关键字(如 SELECT, WHERE, AND,OR)有助于把 关键字 和 表名,列名区分开,让 SQL更容易理解
- WHERE是一个更精确的查询出特定数据的语句
- 越精确的查找,会使SQL的运行速度越快
- 并含条件不需要出现多个WHERE语句
具体语法规则表
关键字 | 意思 | 例子 |
---|---|---|
=, !=, < <=, >, >= | 大于,等于等比较 | 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) |
实践练习
依旧是上一节课练习的那张表格
Table(表): Movies
Id | Title | Director | Year | Length_minutes |
---|---|---|---|---|
1 | Toy Story | John Lasseter | 1995 | 81 |
2 | A Bug’s Life | John Lasseter | 1998 | 95 |
3 | Toy Story 2 | John Lasseter | 1999 | 93 |
4 | Monsters, Inc. | Pete Docter | 2001 | 92 |
5 | Finding Nemo | Finding Nemo | 2003 | 107 |
6 | The Incredibles | Brad Bird | 2004 | 116 |
7 | Cars | John Lasseter | 2006 | 117 |
8 | Ratatouille | Brad Bird | 2007 | 115 |
9 | WALL-E | Andrew Stanton | 2008 | 104 |
10 | Up | Pete Docter | 2009 | 101 |
11 | Toy Story 3 | Lee Unkrich | 2010 | 103 |
12 | Cars 2 | John Lasseter | 2011 | 120 |
13 | Brave | Brenda Chapman | 2012 | 102 |
14 | Monsters University | Dan Scanlon | 2013 | 110 |
- 找到id为6的电影
1 | SELECT * FROM movies WHERE id = 6 |
- 找到在2000-2010年间year上映的电影
1 | SELECT * FROM movies WHERE year BETWEEN 2000 AND 2010 |
- 找到不是在2000-2010年间year上映的电影
1 | SELECT * FROM movies WHERE year NOT BETWEEN 2000 AND 2010 |
- 找到头5部电影
1 | SELECT * FROM movies WHERE id <= 5 |
- 找到2010(含)年之后的电影里片长小于两个小时的片子
1 | SELECT * FROM movies WHERE year >= 2010 AND Length_minutes < 120 |
(注意:此时的并含套件不需要出现多个WHERE语句,直接用AND语句)
- 找到99年和09年的电影,只要列出年份和片长看下
1 | SELECT year,length_minutes FROM movies WHERE year = 1999 OR year = 2009 |
(注意:做此类题需看清楚题目要求,是指定年份还是并含年份)