반응형
SQL 08 – More JOIN operations
Database
Problems
문제 1. yr이 1962년인 영화를 나열하시오 [Show id, title].
정답
1
2
3
|
SELECT id, title
FROM movie
WHERE yr=1962
|
cs |
문제 2. 'Citizen Kane' 영화의 상영 연도를 추출하세요.
정답
1
2
3
|
SELECT yr
FROM movie
WHERE title='Citizen Kane'
|
cs |
문제 3. 모든 Star Trek 영화를 나열하고 id, title 및 yr를 포함합니다(이 모든 영화 제목에 Star Trek이라는 단어가 포함됨). 연도별로 결과를 정렬합니다.
정답
1
2
3
4
|
SELECT id, title, yr
FROM movie
WHERE title LIKE 'Star Trek%'
ORDER BY yr
|
cs |
문제 4. 글렌 클로즈'라는 배우는 몇 번 아이디를 가지고 있나요?
정답
1
2
3
|
SELECT id
FROM actor
WHERE name='Glenn Close'
|
cs |
문제 5. 글렌 클로즈'라는 배우는 몇 번 아이디를 가지고 있나요?
정답
1
2
3
|
SELECT id
FROM movie
WHERE title='Casablanca'
|
cs |
문제 6. '카사블랑카'의 출연자 명단을 얻으십시오.
출연자 명단이란 무엇인가?
출연자 명단은 영화에 출연했던 배우들의 이름입니다.
정답
1
2
3
|
SELECT name
FROM actor JOIN casting ON actor.id=casting.actorid
WHERE movieid =11768
|
cs |
1
2
3
|
SELECT name
FROM actor JOIN casting ON actor.id=casting.actorid
WHERE movieid =(SELECT id FROM movie WHERE title='Casablanca')
|
cs |
문제 7. 영화 '에일리언'의 캐스팅리스트 추출하세요.
정답
1
2
3
4
5
|
SELECT name
FROM actor JOIN casting ON actor.id=casting.actorid
WHERE movieid =(SELECT id FROM movie WHERE title='Alien')
|
cs |
문제 8. 영화 '에일리언'의 캐스팅리스트 추출하세요.
정답
1
2
3
4
5
|
SELECT title
FROM movie JOIN casting ON movie.id=casting.movieid
WHERE actorid =(SELECT id FROM actor WHERE name='Harrison Ford')
|
cs |
문제 9. 영화 '에일리언'의 캐스팅리스트 추출하세요.
정답
1
2
3
4
5
|
SELECT title
FROM movie JOIN casting ON movie.id=casting.movieid
WHERE actorid =(SELECT id FROM actor WHERE name='Harrison Ford') AND ord <> 1
|
cs |
문제 10. 1962년 출시한 모든 영화의 주연 배우를 영화 이름과 함께 나열하세요.
정답
1
2
3
4
5
6
7
|
SELECT title, name
FROM actor JOIN casting ON casting.actorid=actor.id
JOIN movie ON movie.id=casting.movieid
WHERE movie.yr=1962 AND casting.ord=1
|
cs |
문제 11. '락 허드슨'이 가장 바빴던 해는 그가 2편 이상의 영화를 만든 해와 연간 영화 수를 보여준다.
정답
1
2
3
4
5
6
7
8
9
10
11
|
SELECT yr,COUNT(title) FROM
movie JOIN casting ON movie.id=movieid
JOIN actor ON actorid=actor.id
WHERE name='Rock Hudson'
GROUP BY yr
HAVING COUNT(title) > 2
|
cs |
문제 12. 영화 제목과 영화 '줄리 앤드류스'의 주연 배우를 나열하세요.
"Little Miss Marker 두 번" 받았어요?
정답
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
SELECT title, name
FROM actor JOIN casting ON casting.actorid=actor.id
JOIN movie ON movie.id=casting.movieid
WHERE movieid in (SELECT movieid
FROM casting
WHERE actorid IN (SELECT id
FROM actor
WHERE name='Julie Andrews'
)
) and ord=1
|
cs |
문제 13. 적어도 15개의 주연 배역을 맡은 배우들의 목록을 알파벳 순으로 얻으세요.
정답
1
2
3
4
5
6
7
8
9
|
SELECT name
FROM actor JOIN casting ON casting.actorid=actor.id
GROUP BY name
HAVING SUM(CASE ord WHEN 1 THEN 1 ELSE 0 END) >= 15
ORDER BY name
|
cs |
문제 14. 1978년에 개봉된 영화들을 캐스팅된 배우들의 수에 따라 순서대로 나열하고, 그 다음에 제목별로 나열하세요.
정답
1
2
3
4
5
6
7
8
9
|
SELECT title, count(*) as actorcount
FROM movie JOIN casting ON movie.id=casting.movieid
WHERE yr=1978
GROUP BY title
ORDER BY actorcount DESC, title
|
cs |
문제 15. Art Garfunkel'과 함께 일한 모든 사람들을 나열하세요.
List all the people who have worked with 'Art Garfunkel'.
정답
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
SELECT name
FROM actor JOIN casting ON casting.actorid=actor.id
WHERE movieid in (SELECT movieid
FROM casting
WHERE actorid= (SELECT id
FROM actor
WHERE name='Art Garfunkel'
)
) AND name<>'Art Garfunkel'
|
cs |
반응형
'공부 > SQL' 카테고리의 다른 글
SQL 10 – Window functions (0) | 2022.01.13 |
---|---|
SQL 09 – Numeric Examples (0) | 2022.01.13 |
SQL Zoo 07 - JOIN (0) | 2022.01.11 |
SQL Zoo 06 - SUM and COUNT (0) | 2022.01.11 |
SQL Zoo 05 - SELECT within SELECT Tutorial (0) | 2022.01.09 |
댓글