




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Principles
of
Database
SystemSQL
Exercise
1SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTYou"ve
started
a
new
movie-rating
website,and
you"ve
been
collecting
data
on
reviewers"ratings
of
various
movies.
There"s
not
muchdata
yet,
but
you
can
still
try
out
someinteresting
queries.
Here"s
the
schema:SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)English:
There
is
a
movie
with
ID
number
mID,a
title,
a
release
year,
and
a
director.Reviewer
(
rID,
name
)English:
The
reviewer
with
ID
number
rID
has
acertain
name.Rating
(
rID,
mID,
stars,
ratingDate
)English:
The
reviewer
rID
gave
the
movie
mID
anumber
of
stars
rating
(1-5)
on
a
certainratingDate.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
1Find
the
titles
of
all
movies
directedbySteven
Spielberg.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
2Find
all
years
that
have
a
movie
thatreceived
a
rating
of
4
or
5,
and
sort
them
inincreasing
order.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
3Find
the
titles
of
all
movies
that
have
noratingsSQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
4Some
reviewers
didn"t
provide
a
date
withtheir
rating.
Find
the
names
of
all
reviewerswho
have
ratings
with
a
NULL
value
for
thedate.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
5Write
a
query
to
return
the
ratings
data
in
amore
readable
format:
reviewer
name,
movietitle,
stars,
and
ratingDate.
Also,
sort
thedata,
first
by
reviewer
name,
then
by
movietitle,
and
lastly
by
number
of
stars.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
6For
all
cases
where
the
same
reviewer
ratedthe
same
movie
twice
and
gave
it
a
higherrating
the
second
time,
return
the
reviewer"sname
and
the
title
of
the
movie.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
7For
each
movie,
find
the
highest
number
ofstars
that
movie
received
as
a
rating.
Returnthe
movie
title
and
number
of
stars.
Sort
bymovie
title.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
8For
each
movie,
return
the
title
and
the"rating
spread",
that
is,
the
differencebetween
highest
and
lowest
ratings
given
tothat
movie.
Sort
by
rating
spread
fromhighest
to
lowest,
then
by
movie
title.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
9Find
the
difference
between
the
average
ratingof
movies
released
before
1980
and
the
averagerating
of
movies
released
after
1980.
(Make
sureto
calculate
the
average
rating
for
each
movie,then
the
average
of
those
averages
for
moviesbefore
1980
and
movies
after.
Don"t
justcalculate
the
overall
average
rating
before
andafter
1980.)SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
10Add
the
reviewer
Roger
Ebert
to
yourdatabase,
with
an
rID
of
209.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
11Insert
5-star
ratings
by
James
Cameron
forall
movies
in
the
database.
Leave
the
reviewdate
as
NULL.SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
12For
all
movies
that
have
an
average
rating
of4
stars
or
higher,
add
25
to
the
release
year.(Update
the
existing
tuples;
don"t
insert
newtuples.)SolutionsSSDUT-SoftwareSchoolof
DUTSolutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
1Find
the
titles
of
all
movies
directedbySteven
Spielberg.select
title
from
movie
wheredirector="Steven
Spielberg"Solutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
2Find
all
years
that
have
a
movie
that
received
arating
of
4
or
5,
and
sort
them
in
increasingorder.select
distinct
year
from
movie,rating
wheremovie.mid=rating.mid
and
stars
in
(4,5)
orderby
yearSolutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
3Find
the
titles
of
all
movies
that
have
noratings.select
title
from
movie
except
select
title
frommovie,rating
where
movie.mid=rating.midSolutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
4Some
reviewers
didn"t
provide
a
date
with
theirrating.
Find
the
names
of
all
reviewers
who
haveratings
with
a
NULL
value
for
the
date.select
name
from
reviewer,rating
wherereviewer.rid=rating.rid
and
ratingdate
is
nullSolutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
5Write
a
query
to
return
the
ratings
data
in
a
morereadable
format:
reviewer
name,
movie
title,
stars,and
ratingDate.
Also,
sort
the
data,
firstby
reviewername,
then
by
movie
title,
and
lastly
by
number
ofstars.select
name,title,stars,ratingdate
frommovie,rating,reviewer
where
movie.mid=rating.mid
and
reviewer.rid=rating.rid
order
by
name,title,starsSolutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
6For
all
cases
where
the
same
reviewer
rated
thesame
movie
twice
and
gave
it
a
higher
rating
thesecond
time,
return
the
reviewer"s
name
and
thetitle
of
the
movie.select
name,title
from
movie,reviewer,(
selectr1.rid,r1.mid
from
rating
as
r1,rating
as
r2
wherer1.rid=r2.rid
and
r1.mid=r2.mid
andr1.ratingdate>r2.ratingdate
and
r1.stars>r2.stars)as
r
where
movie.mid=r.mid
and
reviewer.rid=r.ridSolutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
7For
each
movie,
find
the
highest
number
ofstars
that
movie
received
as
a
rating.
Return
themovie
title
and
number
of
stars.
Sort
by
movietitle.select
title,maxrating
from
movie,
(selectmid,max(stars)
as
maxrating
from
rating
groupby
mid)
as
r
where
movie.mid=r.mid
order
bytitleSolutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
8For
each
movie,
return
the
title
and
the
"ratingspread",
that
is,
the
difference
between
highest
andlowest
ratings
given
to
that
movie.
Sortbyratingspread
from
highest
to
lowest,
then
by
movie
title.select
title,spread
as
"rating
spread"
from
movie,(select
mid,max(stars)-min(stars)
as
spread
fromrating
groupbymid)
as
r
where
movie.mid=r.midorder
by
spread
desc,titleSolutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
9Find
the
difference
between
the
average
ratingof
movies
released
before
1980
and
the
averagerating
of
movies
released
after
1980.
(Make
sureto
calculate
the
average
rating
for
each
movie,then
the
average
of
those
averages
for
moviesbefore
1980
and
movies
after.
Don"t
justcalculate
the
overall
average
rating
before
andafter
1980.)Solutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
rID,
name
)Rating
(
rID,
mID,
stars,
ratingDate
)Question
9select
r1979.avgm-r1980.avgmfrom(selectsum(avgrating)/count(*)
as
avgM
from
(selectavg(stars)
as
avgrating
from
rating,movie
wheremovie.mid=rating.mid
and
year<1980
group
bymovie.mid)
as
r)
as
r1979
,
(selectsum(avgrating)/count(*)
as
avgM
from
(selectavg(stars)
as
avgrating
from
rating,movie
wheremovie.mid=rating.mid
and
year>=1980
groupby
movie.mid)
as
r)
as
r1980Solutions
for
SQL
Exercise
1SSDUT-SoftwareSchoolof
DUTMovie
(
mID,
title,
year,
director
)Reviewer
(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽修美容開業活動方案
- 水博園研學活動方案
- 棋藝比賽活動方案
- 桓臺部門團建活動方案
- 橫溪街道宣講活動方案
- 法宣傳活動方案
- 桂林沙發活動策劃方案
- 水果拼盤新年活動方案
- 漢服設計課間活動方案
- 民生實事大比拼活動方案
- 對公客戶經理培訓課件
- 社會文物鑒定質檢服務機構執業能力認可管理體系(公開征求意見稿)
- 高標準農田建設監理規范與實施策略
- 鋼絲繩編接作業知識培訓
- 人教版八年級道德與法治下冊教學設計:4.1公民基本義務
- 接觸網電連接壓接工藝及壓接質量檢查課件
- 2025北京朝陽六年級(上)期末數學試卷(含答案)
- 肝硬化門靜脈高壓癥食管、胃底靜脈曲張破裂出血診治專家共識(2025版)解讀
- 青少年心理健康發展調研報告
- 交警交通安全培訓
- 現場管理四大指標:安全、品質、成本、交期
評論
0/150
提交評論