[프로그래머스] 특정 세대의 대장균 찾기 (MySQL)
·
코테/SQL
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 이 문제를 풀면서 겸사겸사 RECURSIVE 재귀 쿼리를 공부했다.다음에 나오면 뿌셔주겠음 RECURSIVE 재귀 쿼리 참고 [MySQL] RECURSIVE 재귀 쿼리문제를 풀던 도중 재귀 쿼리를 사용해야 하는 문제가 나왔다. JAVA로는 재귀를 많이 구현해 봤는데, MySQL로 쿼리 짤 때는 사실 재귀를 많이 사용은 안 하는 것 같다. WITH RECURSIVE (재귀)WITH RECURSIVE Tdropdew.tistory.com 전체코드-- 코드를 작성해주세요WITH RECURSIVE COLONY AS ( SELECT ID, PARENT_I..
[프로그래머스] 부모의 형질을 모두 가지는 대장균 찾기 (MySQL)
·
코테/SQL
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이렇게 부모-자식이 한 테이블에서 확인되는 경우 쿼리 짜는데 힘들어 하는 것 같다.. (그래서인지 대장균 관련한 문제는 너무 싫어하고 풀기 싫어해서 마지막까지 남아있는 듯..)부모의 형질을 모두 포함해야 하기 때문에 WHERE절에 P.PARENT_GENOTYPE & E.GENOTYPE = P.PARENT_GENOTYPE 로 지정해줘야 한다.전체코드-- 코드를 작성해주세요WITH PARENTS AS( SELECT ID, SUM(GENOTYPE) AS PARENT_GENOTYPE FROM ECOLI_DATA GROUP BY ID)SELECT..
[프로그래머스] FrontEnd 개발자 찾기 (MySQL)
·
코테/SQL
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 WITH 절을 사용해 FrontEnd 스킬의 코드를 더한 FRONT 테이블을 만들어줬다.이후 & 연산자 사용해서 FrontEnd가졌는지 확인해줬음.다른 분들의 코드를 보니까, JOIN을 통해 FrontEnd인지 확인해주는 경우에 중복이 발생한다고 한다.개발자가 여러 개의 스킬을 가진 경우가 있기 때문에 DISTINCT 해줘야 한다. 전체코드-- 코드를 작성해주세요WITH FRONT AS ( SELECT SUM(CODE) AS 'SUMCODE' FROM SKILLCODES WHERE CATEGORY = 'Front End')SELECT ..
[프로그래머스] 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 (MySQL)
·
코테/SQL
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 WITH절 여러개 사용할 땐 WITH는 맨 처음 한번만 적어주고 ' , '로 이어준다음 테이블명 AS(~~) 로 생성해주면 된다.여러 번 사용되는 데이터가 필요할 때는 서브쿼리보다는 가상 테이블을 사용해주는 게 효율적일 것 같았다.SCORE의 평균과 GRADE를 따로 저장한 GRADE 가상 테이블을 만들어서 BONUS를 계산해줬다. 전체코드-- 코드를 작성해주세요WITH SCORE AS ( SELECT EMP_NO, AVG(SCORE) AS SCORE FROM HR_GRADE GROUP BY EMP_NO, YEAR),GRADE AS (..
[프로그래머스] 언어별 개발자 분류하기 (MySQL)
·
코테/SQL
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 1. 아이디어DEVELOPERS 테이블에서 GRADE별 개발자의 정보를 조회하려 합니다. GRADE는 다음과 같이 정해집니다. A : Front End 스킬과 Python 스킬을 함께 가지고 있는 개발자B : C# 스킬을 가진 개발자C : 그 외의 Front End 개발자이 경우, GRADE를 조건별로 설정해주기 위해서는 CASE WHEN THEN END 사용하는 것이 좋을 거라 생각했다. 2. 문제 해결SELECT SUM(CODE) FROM SKILLCODES WHERE CATEGORY = 'Front End' CASE WHEN THEN 내에서 카테..
[프로그래머스] 조건에 맞는 개발자 찾기 (MySQL)
·
코테/SQL
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 1. 아이디어비트연산자를 활용해서 C#과 Python이 포함되는지 확인했다.2. 비트 연산자AND 연산 (&): 두 비트가 모두 1일 때만 1을 반환한다.OR 연산 (|): 두 비트 중 하나라도 1이면 1을 반환한다.XOR 연산 (^): 두 비트가 다르면 1, 같으면 0을 반환한다.NOT 연산 (~): 비트를 반전시킨다.-- 예를 들어 2진수 1011 (11)과 0111 (7)을 AND 연산하면:SELECT 11 & 7; -- 결과는 3 (0011)-- 예를 들어 2진수 1011 (11)과 0111 (7)을 OR 연산하면:SELECT 11 | 7; ..
[프로그래머스] Python 개발자 찾기 (MySQL)
·
코테/SQL
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 조건을 만족하는 파이썬 개발자를 찾아내기 위해서는 IN과 OR를 사용할 수 있다. IN 조건여러 값을 OR 관계로 묶어 나열하는 조건을 WHERE 절에 사용할 때 쓸 수 있는 키워드IN 연산자는 조건의 범위를 지정하는 데 사용된다.값을 콤마( , )로 구분하여 괄호 내에 묶으며, 이 값 중에서 하나 이상과 일치하면 조건에 맞는 것으로 평가된다.WHERE SKILL_1 IN ('Python','Java');찾고자 하는 컬럼들을 콤마( , )로 구분하여 괄호 내에 묶고, 찾으려는 값이 이 컬럼들 중에 하나 이상과 일치하면 조건에 맞는 것으로 평가된다.WH..
[Programmers] 조건에 맞는 아이템들의 가격의 총합 구하기 (MySQL)
·
코테/SQL
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 전체코드-- 코드를 작성해주세요SELECT SUM(PRICE) AS TOTAL_PRICEFROM ITEM_INFOWHERE RARITY = 'LEGEND';
[Programmers] 조건에 맞는 사원 정보 조회하기 (MySQL)
·
코테/SQL
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  전체코드-- 코드를 작성해주세요SELECT SUM(B.SCORE) AS SCORE, A.EMP_NO, A.EMP_NAME, A.POSITION, A.EMAILFROM HR_EMPLOYEES A JOIN HR_GRADE B ON A.EMP_NO = B.EMP_NOGROUP BY EMP_NOORDER BY SCORE DESC LIMIT 1;
[Programmers] 연도 별 평균 미세먼지 농도 조회하기 (MySQL)
·
코테/SQL
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 전체코드-- 코드를 작성해주세요SELECT YEAR(YM) AS 'YEAR', ROUND(AVG(PM_VAL1), 2) AS 'PM10', ROUND(AVG(PM_VAL2), 2) AS 'PM2.5'FROM AIR_POLLUTIONWHERE LOCATION2 = '수원'GROUP BY YEARORDER BY YEAR;