일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 어려웠음
- LeetCode
- RANK
- 패스트캠퍼스
- HACKER_RANK
- 다시풀어보기
- 프리미엄
- SELF-JOIN
- lv.4
- solvesql
- 파이썬을활용한시계열데이터분석AtoZ올인원패키지Online
- Hackerrank
- medium
- meidum
- MySQL
- easy
- 직장인인강
- recursive
- Hard
- row_number
- 직장인자기계발
- group by
- 파이썬을활용한시계열데이터분석
- 패캠챌린지
- SQL
- 프로그래머스
- 해커랭크
- 패스트캠퍼스후기
- 시계열데이터분석
- join
- Today
- Total
목록MySQL (19)
~고군분투 인생살이~

1. 문제 설명 2. 풀이 과정 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름 (관리자의 실수!) => INS와 OUTS 테이블이 JOIN 되어야 함 => 보호 시작일(INS.DATETIME)보다 입양일(OUTS.DATETIME)이 더 빠른 동물을 찾아야 하기 때문에 WHERE절에 조건을 걸어주자. 결과는 보호 시작일이 빠른 순으로 조회 => ORDER BY INS.DATETIME 3. 정답 SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_INS A LEFT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE A.DATETIME > B.DATETIME ORDER BY A.DATETIME;

문제 설명 풀이 과정 해당 이름이 쓰인 횟수를 조회한다 => GROUP BY를 통해 이름을 그룹화 한 다음 COUNT 해야한다 두 번 이상 쓰인 이름 => 그룹 함수로 검색 조건을 작성할 때는 WHERE 절을 사용할 수 없어 HAVING절을 사용해야 한다. 이름 없는 동물은 집계에서 제외 => IS NOT NULL을 통해 집계에서 제외시키기 => 하지만 COUNT(name) 과정에서 자동으로 NULL을 제외시킴. 결과는 이름 순으로 조회 => ORDER BY 정답 SELECT name, COUNT(name) AS COUNT FROM animal_ins GROUP BY name HAVING COUNT(name) >=2 ORDER BY name; -- 만약 NOT NULL 조건을 넣었더라면 SELECT na..