일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 혼공단
- Til
- doitandroid
- 스터디
- 코틀린
- 기술면접
- select
- Android
- 자바
- 자료구조
- 알고리즘
- java
- 오블완
- 안드로이드
- 혼공파
- join
- 안드로이드스튜디오
- MySQL
- Kotlin
- 인프런
- 프로그래머스
- 정처기
- 티스토리챌린지
- 카카오코테
- groupby
- CS
- 코테
- 혼공챌린지
- Today
- Total
목록SQL (94)
Welcome! Everything is fine.
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.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📌 정답ITEM_INFO 테이블과 ITEM_TREE 테이블을 LEFT JOIN하고 조인 조건은 ITEM_INFO 테이블의 ITEM_ID와 ITEM_TREE 테이블의 PARENT_ITEM_ID가 같을 경우로 하였다. 만약 같은 경우가 없다면 NULL 값이 들어갈 것이다. 따라서 ITEM_TREE PARENT_ITEM_ID가 NULL일 때 조회하도록 WHERE절을 작성하였다. 마지막으로 ITEM_ID를 기준으로 내림차순 정렬(DESC) 하면 끝!SELECT I.ITEM_ID, I.ITEM_NAME, I...
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 정답똑같은 테이블을 PARENT, CHILD로 나누고 LEFT JOIN하여 풀 수 있었던 문제이다. 조인 조건은 PARENT 테이블의 ID와 CHILD 테이블의 PARENT_ID가 같을 경우로 설정한다. 그리고나서 PARENT.ID로 GRUOP BY 해준 후 CHILD.ID의 개수를 세주면 된다!SELECT PARENT.ID, COUNT(CHILD.ID) AS CHILD_COUNTFROM ECOLI_DATA PARENT LEFT JOIN ECOLI_DATA CHILDON PARENT.ID = CHI..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..