SQL入门练习(二)


SQL在线练习网址:SQL在线练习

Lesson 2:条件查询(WHERE子句-数字类)

基本语句:SELECT column FROM mytable WHERE condition
练习要点:

  • 大写的关键字(如 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
  1. 找到id为6的电影
1
SELECT * FROM movies WHERE id = 6

  1. 找到在2000-2010年间year上映的电影
1
SELECT * FROM movies WHERE year BETWEEN 2000 AND 2010
  1. 找到不是在2000-2010年间year上映的电影
1
SELECT * FROM movies WHERE year  NOT BETWEEN 2000 AND 2010
  1. 找到头5部电影
1
SELECT * FROM movies WHERE id <= 5
  1. 找到2010(含)年之后的电影里片长小于两个小时的片子
1
SELECT * FROM movies WHERE year >= 2010 AND Length_minutes < 120

(注意:此时的并含套件不需要出现多个WHERE语句,直接用AND语句)

  1. 找到99年和09年的电影,只要列出年份和片长看下
1
SELECT year,length_minutes FROM movies WHERE year = 1999 OR year = 2009

(注意:做此类题需看清楚题目要求,是指定年份还是并含年份)