sql语言实践之自学SQL网(SQL Lesson 0-7)
这是一个目录
- sql语言实践之自学SQL网(SQL Lesson 0-7)
-
- SQL Lesson 0: SQL Lesson 0: 让我给SQL做个自我介绍
-
- 练习 do it — 请完成如下任务
-
- 1.【初体验】这是第一题,请你先将左侧的输入框里的内容清空,然后请输入下面的SQL,您将看到所有电影标题:
- 2.【初体验】请输入如下SQL你将看到4条电影(切记先清空数据框且出错要耐心比对):
- 3.【初体验】输入如下SQL你将看到电影总条数:
- 4.【初体验】SQL可以直接做计算,下面的SQL计算1+1的和,请输入:
- SQL Lesson 1: SELECT 查询 101
-
- 练习 do it — 请完成如下任务
-
- 1.【简单查询】找到所有电影的名称title
- 2.【简单查询】找到所有电影的导演
- 3.【简单查询】找到所有电影的名称和导演
- 4.【简单查询】找到所有电影的名称和上映年份
- 5.【简单查询】找到所有电影的所有信息
- 6.【简单查询】找到所有电影的名称,Id和播放时长
- SQL Lesson 2: 条件查询(constraints)(Pt. 1)
-
- 练习 do it — 请完成如下任务
-
- 1.【简单条件】找到id为6的电影
- 2.【简单条件】找到在2000-2010年间year上映的电影
- 3.【简单条件】找到不是在2000-2010年间year上映的电影
- 4.【简单条件】找到头5部电影
- 5.【简单条件】找到2010(含)年之后的电影里片长小于两个小时的片子
- SQL Lesson 3: 条件查询(constraints) (Pt. 2)
-
- 练习 do it — 请完成如下任务
-
- 1.【复杂条件】找到所有Toy Story系列电影
- 2.【复杂条件】找到所有John Lasseter导演的电影
- 3.【复杂条件】找到所有不是John Lasseter导演的电影
- 4.【复杂条件】找到所有电影名为 "WALL-" 开头的电影
- 5.【复杂条件】有一部98年电影中文名《虫虫危机》请给我找出来
- SQL Lesson 4: 查询结果Filtering过滤 和 sorting排序
-
- 练习 do it — 请完成如下任务
-
- 1.【结果排序】按导演名排重列出所有电影(只显示导演),并按导演名正序排列
- 2.【结果排序】列出按上映年份最新上线的4部电影
- 3.【结果排序】按电影名字母序升序排列,列出前5部电影
- 4.【结果排序】按电影名字母序升序排列,列出上一题之后的5部电影
- 5.【结果排序】如果按片长排列,John Lasseter导演导过片长第3长的电影是哪部,列出名字即可
- SQL Review: 复习 SELECT 查询
-
- 练习 do it — 请完成如下任务
-
- 1.【复习】列出所有加拿大人的Canadian信息(包括所有字段)
- 2.【复习】列出所有在Chicago西部的城市,从西到东排序(包括所有字段)
- 3.【复习】用人口数population排序,列出墨西哥Mexico最大的2个城市(包括所有字段)
- 4.【复习】列出美国United States人口3-4位的两个城市和他们的人口(包括所有字段)
- SQL Lesson 6: 用JOINs进行多表联合查询
-
- 练习 do it — 请完成如下任务
-
- 1.【联表】找到所有电影的国内Domestic_sales和国际销售额
- 2.【联表】找到所有国际销售额比国内销售大的电影
- 3.【联表】找出所有电影按市场占有率rating倒序排列
- 4.【联表】每部电影按国际销售额比较,排名最靠前的导演是谁,国际销量多少
- SQL Lesson 7: 外连接(OUTER JOINs)
-
- 练习 do it — 请完成如下任务
-
- 1.【复习】找到所有有雇员的办公室(buildings)名字
- 2.【复习】找到所有办公室里的所有角色(包含没有雇员的),并做唯一输出(DISTINCT)
- 3.【难题】找到所有有雇员的办公室(buildings)和对应的容量
- 4.【难题】找到所有有雇员的办公室(buildings)和对应的容量
- 结尾 (其它参考答案)
-
----------EOF----------
自学SQl网链接入口
SQL Lesson 0: SQL Lesson 0: 让我给SQL做个自我介绍
SQL lesson 0链接入口
练习 do it — 请完成如下任务
1.【初体验】这是第一题,请你先将左侧的输入框里的内容清空,然后请输入下面的SQL,您将看到所有电影标题:
SELECT title FROM movies
SELECT title
FROM movies;
2.【初体验】请输入如下SQL你将看到4条电影(切记先清空数据框且出错要耐心比对):
SELECT title,director FROM movies WHERE Id < 5
SELECT title,director
FROM movies
WHERE Id < 5
;
3.【初体验】输入如下SQL你将看到电影总条数:
SELECT count(*) FROM movies
SELECT count(*)
FROM movies
;
4.【初体验】SQL可以直接做计算,下面的SQL计算1+1的和,请输入:
SELECT 1+1
SELECT 1+1
;
SQL Lesson 1: SELECT 查询 101
SQL lesson 1链接入口
练习 do it — 请完成如下任务
1.【简单查询】找到所有电影的名称title
SELECT title FROM movies;
2.【简单查询】找到所有电影的导演
SELECT Director FROM movies;
3.【简单查询】找到所有电影的名称和导演
SELECT title,Director FROM movies;
4.【简单查询】找到所有电影的名称和上映年份
SELECT Title,Year FROM movies;
;
5.【简单查询】找到所有电影的所有信息
SELECT * FROM movies;
;
6.【简单查询】找到所有电影的名称,Id和播放时长
SELECT Title,Id,Length_minutes FROM movies;
SQL Lesson 2: 条件查询(constraints)(Pt. 1)
SQL lesson 2链接入口
练习 do it — 请完成如下任务
1.【简单条件】找到id为6的电影
SELECT *
FROM movies
WHERE Id=6
;
2.【简单条件】找到在2000-2010年间year上映的电影
SELECT *
FROM movies
WHERE Year BETWEEN 2000 AND 2010
;
3.【简单条件】找到不是在2000-2010年间year上映的电影
SELECT *
FROM movies
WHERE Year NOT BETWEEN 2000 AND 2010
;
4.【简单条件】找到头5部电影
SELECT *
FROM movies
WHERE Id BETWEEN 1 AND 5
;
5.【简单条件】找到2010(含)年之后的电影里片长小于两个小时的片子
SELECT *
FROM movies
WHERE Year>=2010 AND Length_minutes<120
;
SQL Lesson 3: 条件查询(constraints) (Pt. 2)
SQL lesson 3链接入口
练习 do it — 请完成如下任务
1.【复杂条件】找到所有Toy Story系列电影
SELECT *
FROM movies
WHERE Title LIKE 'Toy Story%'
;
2.【复杂条件】找到所有John Lasseter导演的电影
SELECT *
FROM movies
WHERE Director = 'John Lasseter'
;
3.【复杂条件】找到所有不是John Lasseter导演的电影
SELECT *
FROM movies
WHERE Director <> 'John Lasseter'
;
4.【复杂条件】找到所有电影名为 “WALL-” 开头的电影
SELECT *
FROM movies
WHERE Title LIKE 'WAL%'
;
5.【复杂条件】有一部98年电影中文名《虫虫危机》请给我找出来
SELECT *
FROM movies
WHERE Year=1998 AND Title LIKE '%bug%'
;
SQL Lesson 4: 查询结果Filtering过滤 和 sorting排序
SQL lesson 4链接入口
练习 do it — 请完成如下任务
1.【结果排序】按导演名排重列出所有电影(只显示导演),并按导演名正序排列
SELECT DISTINCT Director
FROM movies
ORDER BY Director
;
2.【结果排序】列出按上映年份最新上线的4部电影
SELECT *
FROM movies
ORDER BY Year DESC
LIMIT 4 OFFSET 0
;
3.【结果排序】按电影名字母序升序排列,列出前5部电影
SELECT *
FROM movies
ORDER BY Title ASC
LIMIT 5 OFFSET 0
;
4.【结果排序】按电影名字母序升序排列,列出上一题之后的5部电影
SELECT *
FROM movies
ORDER BY Title ASC
LIMIT 5 OFFSET 5
;
5.【结果排序】如果按片长排列,John Lasseter导演导过片长第3长的电影是哪部,列出名字即可
SELECT Title
FROM movies
WHERE Director='John Lasseter'
ORDER BY length(Title)
LIMIT 1 OFFSET 4
;
SQL Review: 复习 SELECT 查询
SQL Review 链接入口
练习 do it — 请完成如下任务
1.【复习】列出所有加拿大人的Canadian信息(包括所有字段)
SELECT *
FROM north_american_cities
WHERE Country='Canada'
;
2.【复习】列出所有在Chicago西部的城市,从西到东排序(包括所有字段)
SELECT *
FROM north_american_cities
WHERE Longitude<(SELECT Longitude FROM north_american_cities WHERE City='Chicago')
ORDER BY Longitude
;
3.【复习】用人口数population排序,列出墨西哥Mexico最大的2个城市(包括所有字段)
SELECT *
FROM north_american_cities
WHERE Country='Mexico'
ORDER BY population DESC
LIMIT 2 OFFSET 0
;
4.【复习】列出美国United States人口3-4位的两个城市和他们的人口(包括所有字段)
SELECT *
FROM north_american_cities
WHERE Country='United States'
ORDER BY Population DESC
LIMIT 2 OFFSET 2
;
SQL Lesson 6: 用JOINs进行多表联合查询
SQL Lesson 6 链接入口
练习 do it — 请完成如下任务
1.【联表】找到所有电影的国内Domestic_sales和国际销售额
SELECT *
FROM movies INNER JOIN Boxoffice ON Id=Movie_id
;
2.【联表】找到所有国际销售额比国内销售大的电影
SELECT *
FROM movies INNER JOIN Boxoffice ON Id=Movie_id
WHERE Domestic_sales<International_sales
;
3.【联表】找出所有电影按市场占有率rating倒序排列
SELECT *
FROM movies INNER JOIN Boxoffice ON Id=Movie_id
ORDER BY Rating ASC
;
4.【联表】每部电影按国际销售额比较,排名最靠前的导演是谁,国际销量多少
SELECT Director,International_sales
FROM movies INNER JOIN Boxoffice ON Id=Movie_id
ORDER BY International_sales DESC
LIMIT 1
;
SQL Lesson 7: 外连接(OUTER JOINs)
SQL Lesson 7 链接入口
练习 do it — 请完成如下任务
1.【复习】找到所有有雇员的办公室(buildings)名字
SELECT DISTINCT Building_name
FROM Buildings LEFT JOIN employees ON Building=Building_name
WHERE Name IS NOT NULL
;
2.【复习】找到所有办公室里的所有角色(包含没有雇员的),并做唯一输出(DISTINCT)
SELECT DiSTINCT Building_name,Role
FROM Buildings LEFT JOIN employees ON Building=Building_name
;
3.【难题】找到所有有雇员的办公室(buildings)和对应的容量
SELECT *
FROM movies INNER JOIN Boxoffice ON Id=Movie_id
ORDER BY Rating ASC
;
4.【难题】找到所有有雇员的办公室(buildings)和对应的容量
SELECT DiSTINCT Building_name,Capacity
FROM Buildings LEFT JOIN employees ON Building=Building_name
WHERE Name IS NOT NULL
;
结尾 (其它参考答案)
sql语言实践之自学SQL网(SQL Lesson12)
sql语言实践之自学SQL网(SQL Lesson10,11)
sql语言实践之自学SQL网(SQL Lesson8,9)
sql语言实践之自学SQL网(SQL Lesson 0-7)
----------EOF----------