11-1. 서브쿼리 추가 문제풀이
기초/SQL2021. 4. 29. 21:31
>SELECT CASE WHEN g.grade > 7 THEN s.name
ELSE NULL END
,g.grade
,s.marks
FROM students s
JOIN grades g ON s.marks BETWEEN g.min_mark AND g.max_mark
ORDER BY g.grade DESC, s.name ASC
JOIN절 내에 BETWEEN을 넣어서 풀어야 하는 문제!
BETWEEN을 조인 조건으로 써야한다는 사실 외에는 주어진 게 없었는데
따로 검색하지도 않고 스스로 시행착오하면서 풀어 내서 매우 뿌듯하다!!!
>SELECT DISTINCT L3.num AS ConsecutiveNums
FROM logs L
INNER JOIN logs L2 ON L.num = L2.num AND L.id + 1 = L2.id
INNER JOIN logs L3 ON L2.num = L3.num AND L2.id + 1 = L3.id
적어도 세 번 이상 연속해서 나오는 숫자만을 꺼내는 문제~.~
하나의 테이블에 셀프 조인을 두 번 해서 풀어야 한다.
위 문제와 같은 이유로 뿌듯하다!!!
선생님이 짠 코드▼
>SELECT DISTINCT L3.num AS ConsecutiveNums
FROM logs L
INNER JOIN logs L2 ON L.id + 1 = L2.id
INNER JOIN logs L3 ON L2.id + 1 = L3.id
WHERE L.num = L2.num AND L.num = L3.num
'기초 > SQL' 카테고리의 다른 글
12. 윈도우 함수 (0) | 2021.05.06 |
---|---|
11. 서브쿼리 (0) | 2021.04.15 |
10. ERD, 데이터 타입 (0) | 2021.04.14 |
댓글()