일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQL
- 코딩테스트
- 카카오코테
- MySQL
- java
- 코틀린
- Til
- 혼공단
- navermap
- 코딩
- 정처기
- 스터디
- select
- Android
- doitandroid
- 안드로이드스튜디오
- 혼공챌린지
- Kotlin
- 안드로이드
- 프로그래머스
- join
- 정보처리기사
- 자바
- 우테코
- CS
- 코테
- 혼공파
- 인프런
- groupby
- 우아한테크코스
- Today
- Total
목록MySQL (79)
Welcome! Everything is fine.
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 정답처음에는 WHERE절에서 평균 길이에 대한 조건을 걸었다가 틀렸는데, 집계함수는 HAVING절에서 작성해야 한다는 것이 생각났다. 따라서 HAVING절에 AVG()로 LENGTH의 평균을 구하는데, LENGTH가 NULL일 경우 10cm로 취급해서 평균을 내야하므로 IFNULL()을 이용하여 NULL일 경우 갖게되는 값을 지정해주었다.SELECT COUNT(ID) AS FISH_COUNT, MAX(LENGTH) AS MAX_LENGTH, FISH_TYPEFROM FISH_INFOGROUP BY ..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌정답처음에는 까다로워 보이는 문제였지만 차근차근 작성하면 어렵지 않은 문제였다. 먼저 EMP_NO을 기준으로 HR_EMPLOYEES 테이블과 HR_GRADE 테이블을 JOIN하고, HR_GRADE 테이블의 EMP_NO을 기준으로 GROUP BY 하였다. SCORE의 평균으로 구하려면 SCORE 컬럼을 가지고 있어야하기 때문이다. 그리고나서 CASE문을 이용해 GRADE와 BONUS를 작성했다. SCORE의 평균을 내서 평가 등급과 성과금을 결정하도록 했다.SELECT A.EMP_NO, A.EMP_NA..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 두 개의 테이블에 공통으로 있는 BOARD_ID를 기준으로 조인하고, 문제에 있는 컬럼을 출력하면 되는 기본적인 문제였다. 주의할 점은 DATE_FORMAT()을 이용해 예시의 포맷과 일치하도록 해야한다는 점, WHERE절에서 2022년 10월에 작성된 게시글만 필터링해야한다는 점 등이 있었다. 이 부분은 다른 문제에서도 반복적으로 나왔기 때문에 큰 어려움은 없었다. SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS , DATE..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 물고기가 10cm 이하일 경우 NULL이므로, NULL을 제외한 물고기의 ID와 LENGTH를 구하면 된다. 10마리까지 출력해야하기 때문에 LIMIT을 이용했다. SELECT ID, LENGTH FROM FISH_INFO WHERE LENGTH IS NOT NULL ORDER BY LENGTH DESC, ID LIMIT 10
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 어려워서 답을 보고 푼 문제..다른 건 다 적어도 WHERE절에 있는 긴 서브쿼리는 못적었다.🥲윈도우 함수는 거의 써보지 않아서 생소하다. DENSE_RANK()는 동일한 순위를 하나의 건수로 취급하는 함수이다. 따라서 리뷰 수가 같은 경우에도 같은 순위로 취급한다. 최종적으로는 REVIEW_RANK가 1인 회원의 MEMBER_ID를 선택한다. SELECT MEMBER_NAME, REVIEW_TEXT, DATE_FORMAT(REVIEW_DATE,'%Y-%m-%d') AS REVIEW_DATE..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 ROUND() - 반올림 함수 AVG() - 평균을 구하는 함수 IFNULL - NULL 값을 처리하는 함수 SELECT ROUND(AVG(IFNULL(LENGTH, 10)), 2) AS AVERAGE_LENGTH FROM FISH_INFO 📌 기억할 것 MySQL에서 컬럼의 값이 NULL인 경우 다음 함수들로 처리할 수 있다. IFNULL(컬럼명, 대체값) IF 함수와 IS NULL 함수를 함께 사용 CASE문 COALESCE(컬럼명, 대체값)
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 WHEN-THEN 문에서 BETWEEN - AND 문을 이용해 분기별로 나눠주었다. 다른 사람들의 답안을 보니 CASE문 전체를 CONCAT으로 감싸 숫자와 'Q'를 이어붙여 처리하는 방법도 있다. 분기별로 묶은후 ID의 개수를 세어 분화된 대장균 개체의 총 수를 표현하였다. SELECT CASE WHEN MONTH(DIFFERENTIATION_DATE) BETWEEN 1 AND 3 THEN '1Q' WHEN MONTH(DIFFERENTIATION_DATE) BETWEEN 4 AND 6 TH..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 FISH_INFO와 FISH_NAME_INFO을 JOIN 한 후, FISH_NAME 중에 BASS와 SNAPPER가 포함되어 있다면 해당 FISH_TYPE의 개수를 세어 조회하도록 했다. 조건을 걸어 COUNT()로 세기만 하면 되는 간단한 문제였다. SELECT COUNT(FISH_TYPE) AS FISH_COUNT FROM FISH_INFO JOIN FISH_NAME_INFO USING(FISH_TYPE) WHERE FISH_NAME IN ('BASS', 'SNAPPER')