XUESQL中文在线SQL练习及其答案

1.多表练习

2.John Lasseter导演的每部电影每分钟值多少钱,告诉我最高的3个电影名和价值就可以

'''

SELECT Title,(b.Domestic_sales+b.International_sales)/m.Length_minutes AS Per_sales
    FROM Movies m LEFT JOIN Boxoffice b on m.Id=b.Movie_id 
    WHERE Director='John Lasseter'
    ORDER BY Per_sales DESC LIMIT 3

'''
'''

select N.title, (B.Domestic_sales + B.International_sales)/N.length_minutes as A
    from (select * from Movies as M where M.director like "John Lasseter")"N"
    join Boxoffice as "B"
    on N.id = B.movie_id
    order by A desc
    limit 3

'''

'''

select M.title, (B.Domestic_sales + B.International_sales)/M.length_minutes as A
     from Movies as M
     join Boxoffice as B
     on M.id =B.movie_id
     where M.director like "John Lasseter"
     order by A desc
     limit 3

'''

3.找出每部电影和单部电影销售冠军之间的销售差,列出电影名,销售额差额

'''

select W.title,(-w."总销量"+T."总销量") as 销售额差额
from(select *, sum(B.Domestic_sales+B.International_sales) as 总销量
	from movies as M
	join Boxoffice  as B
	on M.id = B.movie_id
	group by M.title 
	order by "总销量" desc
	limit 1)"T", (select *, sum(B.Domestic_sales+B.International_sales) as 总销量
	from movies as M
	join Boxoffice  as B
	on M.id = B.movie_id
	group by M.title 
	order by "总销量" desc
	)"W"
    group by W.title

'''

'''

SELECT Title, (SELECT MAX(Domestic_sales+International_sales)FROM Boxoffice) - SUM(Domestic_sales+International_sales) AS Diff 
    FROM Movies 
    INNER JOIN Boxoffice 
    ON Movies.ID = Boxoffice.Movie_id 
    GROUP BY Title 

'''

posted @ 2023-03-08 01:09  隔岸观雨  阅读(135)  评论(0编辑  收藏  举报