#1 Winner from 1950
SELECT yr, subject, winner
FROM nobel
WHERE yr = 1950
#2 Literature
SELECT winner
FROM nobel
WHERE yr = 1962 AND subject = 'Literature'
#3 Albert Einstein
SELECT yr, subject
FROM nobel
WHERE winner = 'Albert Einstein'
#4 Recent Peace Prizes
SELECT winner
FROM nobel
WHERE subject = 'Peace' AND yr >= 2000
#5 Literature in the 1980's
SELECT yr, subject, winner
FROM nobel
WHERE subject = 'Literature ' AND yr >= 1980 AND yr <= 1989
#6 Only Presidents
IN을 사용해서 여러개 값 비교 가능
IN은 WHERE절에서 OR대신 사용 가능하다.
콤마로 구분해서 괄호 내에 묶는다.
이 중 하나라도 같으면 조건에 맞는 것이다.
SELECT * FROM nobel
WHERE winner IN ('Theodore Roosevelt',
'Woodrow Wilson',
'Jimmy Carter', 'Barack Obama')
#7 John
LIKE를 사용해서 문자가 포함되어 있는지 검색
SELECT winner
FROM nobel
WHERE winner LIKE 'John%'
#8 Chemistry and Physics from different years
SELECT yr, subject, winner
FROM nobel
WHERE (yr = 1980 AND subject = 'Physics') OR (yr = 1984 AND subject = 'Chemistry')
#9 Exclude Chemists and Medics
NOT IN을 사용해서 여러개 값을 제외한 검색을 할 수 있다.
SELECT yr, subject, winner
FROM nobel
WHERE yr = 1980 AND subject NOT IN ('Chemistry', 'Medicine')
#10 Early Medicine, Late Literature
SELECT yr, subject, winner
FROM nobel
WHERE (yr < 1910 AND subject = 'Medicine') OR (yr >= 2004 AND subject = 'Literature')
#11 Umlaut
SELECT *
FROM nobel
WHERE winner = 'PETER GRÜNBERG'
#12 Apostrophe
작은 따옴표 출력시 ''이렇게 두개를 붙여 주어야 한다.
SELECT *
FROM nobel
WHERE winner = 'EUGENE O''NEILL'
#13 Knights of the realm
ORDER BY를 사용하면 정렬이 가능하고 DESC는 내림차순, ASC는 오름차순이다.
DESC 10 -> 9 -> 8 -> 7 -> 6
ASC 6 -> 7 -> 8 -> 9 -> 10
ORDER BY 칼럼명 차순설정 이렇게 쓰면 된다.
SELECT winner, yr, subject
FROM nobel
WHERE winner LIKE 'Sir%'
ORDER BY yr DESC, winner ASC
#14 Chemistry and Physics last
CASE문은 WHEN절 뒤에 조건을 걸고 THEN에 참일시 반환 값을 작성한다.
WHEN절과 THEN절을 여러개 사용할 수 있다.
ELSE절을 사용해서 WHEN이 거짓일 시 반환 값을 작성한다.
END로 WHEN절을 끝마치면 된다.
SELECT winner, subject
FROM nobel
WHERE yr=1984
ORDER BY
CASE WHEN subject IN ('Physics','Chemistry')
THEN 1
ELSE 0
END ,subject,winner
'프로그래밍 > MySQL' 카테고리의 다른 글
[MySQL] SQL ZOO SUM and COUNT 답 해설 (0) | 2021.02.20 |
---|---|
[MySQL] SQL ZOO SELECT within SELECT 답 해설 (0) | 2021.02.20 |
[MySQL] SQL ZOO SELECT basics 답 해설 (0) | 2021.02.18 |
[MySQL] 프로그래머스 SQL String, Date 답 해설 (0) | 2021.02.17 |
[MySQL] 프로그래머스 SQL JOIN 답 해설 (0) | 2021.02.17 |