일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스터디
- 알고리즘
- CS
- 자료구조
- select
- 혼공단
- join
- 혼공챌린지
- MySQL
- java
- 기술면접
- 오블완
- groupby
- Til
- Android
- 정보처리기사
- SQL
- 자바
- doitandroid
- 인프런
- Kotlin
- 정처기
- 안드로이드스튜디오
- 코틀린
- 카카오코테
- 코테
- 티스토리챌린지
- 안드로이드
- 혼공파
- 프로그래머스
- Today
- Total
목록프로그래머스/SQL (88)
Welcome! Everything is fine.
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 문제종류별 가장 큰 물고기와 그 길이를 알아내기 위해 서브쿼리를 사용하였다. 서브 쿼리..어떨땐 잘 풀고 어떨땐 헷갈려서 미치겠다...! SELECT A.ID, B.FISH_NAME, A.LENGTHFROM FISH_INFO A JOIN FISH_NAME_INFO B ON A.FISH_TYPE = B.FISH_TYPEWHERE (A.FISH_TYPE, A.LENGTH) IN (SELECT FISH_TYPE, MAX(LENGTH), FROM FISH_INFO, GROUP BY FISH_TYPE)O..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.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📌 정답ITEM_INFO와 ITEM_TREE를 JOIN하여 문제를 풀었다. WHERE절에서는 PARENT_ITEM_ID 중 서브쿼리로 RARITY가 'RARE'인 ITEM_ID가 있을 때를 조건으로 두었다.SELECT ITEM_ID, ITEM_NAME, RARITYFROM ITEM_INFO JOIN ITEM_TREE USING(ITEM_ID)WHERE PARENT_ITEM_ID IN (SELECT ITEM_ID FROM ITEM_INFO JOIN ITEM_TR..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.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 📌 정답 모르겠어서 답을 보고 푼 문제.😥 UNION ALL은 써보지 않아 생소했는데 익숙해져야겠다. UNION ALL은 여러 쿼리문들을 합쳐 하나의 쿼리문으로 만들어주며, 중복된 값을 모두 보여준다.(UNION은 중복된 값을 제거하고 보여줌. 따라서 중복처리를 해야하는 UNION이 더 느리다!) NULL 값으로 채우는 방법도 알게되었으니 까먹지 말자.. SELECT DATE_FORMAT(SALES_DATE, "%Y-%m-%d") SALES_DATE, PRODUCT_ID, USER_ID, SALES_..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..