本节主要使用WHERE语句筛选字符串类型的属性。
概述
LIKE(模糊查询) 和 %(通配符)是字符串相关查询的两个关键字。
条件查询语句还是WHERE语句
SELECT column, another_column, …
FROM mytable
WHERE condition
AND/OR another_condition
AND/OR …;
常用的条件查询
Operator(关键字) | SQL Example(例子) |
---|---|
= | col_name = “abc” |
!= | col_name != “abcd” |
LIKE | col_name LIKE “ABC” |
NOT LIKE | col_name NOT LIKE “ABCD” |
% | col_name NOT IN (1, 3, 5) |
_ | col_name LIKE “AN_” |
IN (…) | col_name IN (“A”, “B”, “C”) |
NOT IN (…) | col_name NOT IN (“D”, “E”, “F”) |
实例练习
XUESQL 8.8¥XUESQL平台作者应该收。
不过我们可以自己猜猜看SQL语句怎么写,借助人家这个平台来练习也可以。
1. 找到所有Toy Story系列电影
SELECT * FROM movies
WHERE title LIKE "%Toy Story%";
2. 找到所有John Lasseter导演的电影
SELECT * FROM movies
WHERE director LIKE "John Lasseter";
3. 找到所有不是John Lasseter导演的电影
SELECT * FROM movies
WHERE director NOT LIKE "John Lasseter";
4. 找到所有电影名为 “WALL-” 开头的电影
SELECT * FROM movies
WHERE title LIKE "%WALL-%";
5. 有一部98年电影中文名《虫虫危机》请给我找出来
SELECT * FROM movies
WHERE year = 1998
NAD title = "虫虫危机";
6. 找出所有Pete导演的电影,只要列出电影名,导演名和年份就可以
SELECT title,director,year FROM movies
WHERE director LIKE "Pete%";
”N%“,表示以N开头的
”%N“,表示以N结尾的
7. John Lasseter导演了两个系列,一个Car系列一个Toy Story系列,请帮我列出这John Lasseter导演两个系列千禧年之后的电影
SELECT * FROM movies
WHERE director LIKE "John Lasseter"
AND year > 1000
AND title LINK "Car%"
AND title LINK "Toy Story%"
顺便查一下什么是千禧年。