Today I Lived/구직 - 2021
[TIL] 2021.09.19 - MySQL QUERY
오늘은?
MySQL QUERY 문제 풀이
회고
1. 다음과 같은 결과를 univ_board에서 도출하라.
2. 1의 결과의 view_count의 평균을 도출하라.
3. 다음과 같은 결과를 free_board에서 도출하라.
4. 3의 결과에서 댓글 수 순으로 역 정렬하라.
5. 다음과 같이 나라-대학-유저 정보를 출력하라. 단, 대학의 관리자가 없을 경우 null로 출력
6. left join, right join, inner join의 차이점?
기본 JOIN (= INNER JOIN)
- 기본적으로 JOIN은 교집합이다.
LEFT JOIN
- 왼쪽 테이블을 중심으로 오른쪽의 테이블을 매치시킨다.
- 왼쪽 테이블의 한 개의 레코드에 여러 개의 오른쪽 테이블 레코드가 일치할 경우, 해당 왼쪽 레코드를 여러 번 표시하게 된다.
- 왼쪽은 무조건 표시하고, 매치되는 레코드가 오른쪽에 없으면 NULL을 표시한다.
RIGHT JOIN
- 오른쪽 테이블을 중심으로 왼쪽 테이블을 매치시킨다.
- LEFT JOIN에서 방향을 오른쪽으로만 바꾼 것이므로, 역시 해당 레코드가 여러 번 표시되거나, NULL이 표시된다.
OUTER JOIN : 조건에 부합하지 않는 행까지도 포함시켜 결합하는 것
- 기본적으로 LEFT, RIGHT 또는 FULL이 OUTER JOIN이다.
- FULL JOIN 은 사용할 일이 없으며, ODBC에 따라 지원하지 않는 경우도 있다.
최종 답안
1.
SELECT post_id, title, view_count FROM kangaroo.univ_board
ORDER BY view_count DESC
LIMIT 10;
2.
SELECT AVG(view_count) FROM kangaroo.univ_board
ORDER BY view_count DESC
LIMIT 10;
3.
SELECT free_board.post_id, free_board.user_id, free_board.title, free_comment.comment_id, free_comment.user_id, free_comment.content
FROM free_board
INNER JOIN free_comment
On free_board.post_id = free_comment.post_id
4.
SELECT free_board.post_id, free_board.user_id, COUNT(free_comment.post_id) as comment_count, title, free_comment.comment_id, free_comment.user_id, free_comment.content
FROM free_board
INNER JOIN free_comment
On free_board.post_id = free_comment.post_id
GROUP BY free_comment.post_id
ORDER BY comment_count DESC;
5.
SELECT country.country_id, country.name, university.univ_id, university.name, university.admin_id, user.user_id, user.nickname
FROM country
INNER JOIN university
ON country.country_id = university.country_id
LEFT JOIN user
ON university.admin_id = user.user_id;
겨우 요거 하는 게 이렇게 오래 걸려?
알고 나면 쉬운 문제들을, 모르는 상태에서 푸는 괴로운 재미가 쏠쏠하다.
심지어 코테 준비를 위한 공부인데, 긴장감이 없다.
답을 맞히는 게 재밌다! 게임 마냥.
물론, 답을 찾아내기 전까지 괴로움에 몸부림치는 건 재밌지 않다.
괴로운 시간이 길 수록 답을 맞혔을 때의 희열이 좋다.
인정하겠다. 난 변태다.
ㅋㅋ
오늘의 명언
잃어버린 시간은 되찾을 수 없다. - 벤자민 프랭클린
'Today I Lived > 구직 - 2021' 카테고리의 다른 글
[TIL] 2021.09.21 - Algorithm (0) | 2021.09.21 |
---|---|
[TIL] 2021.09.20 - 2차 기술 면접 합격 (0) | 2021.09.20 |
[TIL] 2021.09.18 - 휴식 && 알고리즘 (0) | 2021.09.18 |
[TIL] 2021.09.17 - 면접 && 미소 채용 절차 제안 (2) | 2021.09.17 |
[TIL] 2021.09.16 - 코딩 테스트 (4) | 2021.09.16 |
댓글