SQL入门练习(五)

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

Lesson 5:多表联合查询(INNER JOIN)

基本语法

SELECT column, another_table_column, …
FROM mytable (主表)
INNER JOIN another_table (要连接的表)
    ON mytable.id = another_table.id 
WHERE condition(s)
ORDER BY column, … ASC/DESC
LIMIT num_limit OFFSET num_offset

说明:

  1. INNER JOIN 先将两个表数据连接到一起
  2. ON描述的是两个表之间的关联关系
  3. INNER JOIN 想成两个集合的交集

实践练习

回到之前的Movies表,再给数据库加一张表 BoxOffice ;字段Movie_id 和Movies表的 Id是1-对-1的关系

Table(表): Movies

IdTitleDirectorYearLength_minutes
1Toy StoryJohn Lasseter199581
2A Bug’s LifeJohn Lasseter199895
3Toy Story 2John Lasseter199993
4Monsters, Inc.Pete Docter200192
5Finding NemoFinding Nemo2003107
6The IncrediblesBrad Bird2004116
7CarsJohn Lasseter2006117
8RatatouilleBrad Bird2007115
9WALL-EAndrew Stanton2008104
10UpPete Docter2009101
11Toy Story 3Lee Unkrich2010103
12Cars 2John Lasseter2011120
13BraveBrenda Chapman2012102
14Monsters UniversityDan Scanlon2013110

Table(表): Boxoffice

Movie_idRatingDomestic_salesInternational_sales
58.2380843261555900000
147.4268492764475066843
88206445654417277164
126.4191452396368400000
37.9245852179239163000
68261441092370001000
98.5223808164297503696
118.4415004880648167031
18.3191796233170162503
77.2244082982217900167
108.3293004164438338580
48.1289916256272900000
27.2162798565200600000
137.2237283207301700000
  1. 找到所有电影的国内Domestic_sales和国际销售额
SELECT * FROM Movies 
INNER JOIN Boxoffice 
ON Movies.id = Boxoffice.Movie_id
  1. 找到所有国际销售额比国内销售大的电影
SELECT * FROM movies 
INNER JOIN Boxoffice 
ON Movies.id = Boxoffice.Movie_id 
WHERE International_sales> Domestic_sales
  1. 找出所有电影按市场占有率rating倒序排列
SELECT * FROM Movies 
INNER JOIN Boxoffice 
ON Movies.id = Boxoffice.Movie_id 
ORDER BY Rating DESC
  1. 每部电影按国际销售额比较,排名最靠前的导演是谁,线上销量多少
SELECT Director,International_sales 
FROM Movies 
INNER JOIN Boxoffice 
ON Movies.id = Boxoffice.Movie_id 
ORDER BY International_sales DESC 
LIMIT 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值