-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquery.sql
38 lines (30 loc) · 2.64 KB
/
query.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
USE sinema
GO
--1)Son 5 yılda çekilen aksiyon filmlerinin ortalama bütçesinden daha fazla bütçeye sahip bu yılki aksiyon filmlerinin hepsinde başrol oynayan oyuncuların listesi
SELECT Ekip.EkipID, Ekip.Adi, Ekip.Soyadi, Ekip.Cinsiyet,Ekip.DogumTarihi,Ekip.Yas
FROM HangiFilmHangiEkipHangiGorev HF INNER JOIN Film ON HF.FilmID=Film.FilmID
INNER JOIN Ekip ON HF.EkipID = Ekip.EkipID
INNER JOIN Gorev ON HF.GorevID = Gorev.GorevID
INNER JOIN HangiFilmHangiKategori HFHG ON Film.FilmID = HFHG.FilmID
INNER JOIN FilmKategori ON HFHG.KategoriID = FilmKategori.KategoriID
WHERE Gorev.Adi='başrol' AND FilmKategori.Adi = 'Aksiyon' AND Film.CekildigiYil = YEAR(GETDATE()) AND Film.Butce > (SELECT AVG(Butce) FROM Film INNER JOIN HangiFilmHangiKategori HFHG ON Film.FilmID = HFHG.FilmID INNER JOIN FilmKategori ON HFHG.KategoriID = FilmKategori.KategoriID WHERE Film.CekildigiYil>= YEAR(GETDATE())-5 AND FilmKategori.Adi = 'Aksiyon' )
--2)İstanbul'un Bahçelievler ilçesindeki sinemaların pazartesi günü olan seanslarında oynanan filmlerin bütçelerinin ortalaması
SELECT AVG(Butce)
FROM Seans INNER JOIN HangiSalonHangiSeans HSHS ON Seans.SeansID=HSHS.SeansID
INNER JOIN SinemaSalonu SS ON HSHS.SalonNumarasi = SS.SalonNumarasi
INNER JOIN Sinema ON SS.SinemaID = Sinema.SinemaID
INNER JOIN Il ON sinema.IlID = Il.ID
INNER JOIN Ilce ON sinema.IlceID = Ilce.ID
INNER JOIN Film ON Seans.FilmID = Film.FilmID
WHERE Il.Adi='istanbul' AND Ilce.Adi='bahçelievler' AND Seans.Gun='pazartesi'
--3)Yönetmenlerin ortalama yaşından daha küçük yaştaki yönetmenlerin yönettiği filmlerin Imdb puanlarının yönetmen isimleri ve film isimleriyle birlikte listesi
SELECT Ekip.Adi,Ekip.Soyadi,Ekip.Yas,Film.Adi AS FilmAdi,Film.ImdbPuani
FROM HangiFilmHangiEkipHangiGorev HF INNER JOIN Film ON HF.FilmID=Film.FilmID
INNER JOIN Ekip ON HF.EkipID = Ekip.EkipID
INNER JOIN Gorev ON HF.GorevID = Gorev.GorevID
WHERE Ekip.Yas< (SELECT AVG(Yas) FROM HangiFilmHangiEkipHangiGorev HF INNER JOIN Film ON HF.FilmID=Film.FilmID INNER JOIN Ekip ON HF.EkipID = Ekip.EkipID INNER JOIN Gorev ON HF.GorevID = Gorev.GorevID WHERE Gorev.Adi='Yönetmen' ) AND Gorev.Adi='Yönetmen'
--4)10'den fazla bilet satın almış seyircilerin yaşadığı il ve ilçeler ile birlikte isimlerinin listesi
SELECT Seyirci.SeyirciID,Seyirci.Adi, Seyirci.Soyadi, Il.Adi AS Il, Ilce.Adi AS Ilce
FROM Seyirci INNER JOIN Il ON Seyirci.IlID = Il.ID
INNER JOIN Ilce ON Seyirci.IlceID = Ilce.ID
WHERE SeyirciID IN (SELECT Seyirci.SeyirciID FROM Bilet INNER JOIN Seyirci ON Bilet.SeyirciID=Seyirci.SeyirciID GROUP BY Seyirci.SeyirciID HAVING COUNT(Seyirci.SeyirciID) >10)