SQL入門練習(三)

SQL在線練習網址:SQL在線練習

Lesson 3:條件查詢(WHERE子句-字符串類)

基本語句:SELECT column 1, column 2, … FROM mytable WHERE condition AND/OR another_condition
練習要點:

  • 字符串類的條件查詢需要用引號 " "包含,否則,SQL會認爲是一個屬性列的名字

具體語法規則表

關鍵字 意思 例子
= 完全等於 col_name = “abc”
!= 或者 <> 不等於 col_name != “abcd”
LIKE 沒有用通配符等價於 = col_name LIKE “ABC”
% 通配符,代表匹配0個以上的字符 col_name LIKE “%AT%”,代表AT 前後可以有任意字符(如 “AT”, “ATTIC”, “CAT” 甚至"BATS")
_ 和% 相似,代表1個字符 col_name LIKE “AN_”(如 “AND”, 但非 “AN”)
IN (…) 在一個列表 col_name IN (“A”, “B”, “C”)
NOT IN (…) 不在一個列表 col_name NOT IN (“D”, “E”, “F”)

實踐練習

依舊是上一節課練習的那張表格
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. 找到所有Toy Story系列電影
SELECT * FROM movies 
WHERE title LIKE "%Toy Story%"
  1. 找到所有John Lasseter導演的電影
SELECT * FROM movies 
WHERE director LIKE "John Lasseter"
  1. 找到所有不是John Lasseter導演的電影
SELECT * FROM movies 
WHERE director NOT LIKE "John Lasseter"
  1. 找到所有電影名爲 “WALL-” 開頭的電影
SELECT * FROM movies 
WHERE title LIKE "%WALL-%"
  1. 有一部98年電影中文名《蟲蟲危機》請給我找出來
SELECT * FROM movies 
WHERE title = "A Bug's Life" 
AND year = 1998

(注意:“蟲蟲危機”的英文名稱是"A Bug’s Life")

  1. 找出所有Pete導演的電影,只要列出電影名,導演名和年份就可以
SELECT title,director,year FROM movies 
WHERE director LIKE "%Pete%"
  1. John Lasseter導演了兩個系列,一個Car系列一個Toy Story系列,請幫我列出這John Lasseter導演兩個系列千禧年之後(含千禧年)的電影
SELECT * FROM movies 
WHERE director LIKE "John Lasseter" 
AND year >= 2000

(注意:千禧年是指2000年)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章