where 40

[프로그래머스 SQL] 부모의 형질을 모두 가지는 대장균 찾기 (SELECT) | MySQL

[프로그래머스 SQL] 부모의 형질을 모두 가지는 대장균 찾기 (SELECT) | MySQL하단의 목차를 클릭하여 이동할 수 있습니다 :) 1. 문제 2. 해답 3. 풀이        3-1. SELF JOIN        3-2. 비트연산 적용 (WHERE)1. 문제2. 해답SELECT B.ID, B.GENOTYPE, A.GENOTYPE AS PARENT_GENOTYPEFROM ECOLI_DATA AS A JOIN ECOLI_DATA AS B ON A.ID = B.PARENT_IDWHERE (A.GENOTYPE & B.GENOTYPE) = A.GENOTYPEORDER BY ID3. 풀이3-1. SELF JOIN 해당 문제는 자식 대장균(ID)의 GENOTYPE이 부모 대장..

[프로그래머스 SQL] 특정 물고기를 잡은 총 수 구하기 (SELECT) | MySQL

[프로그래머스 SQL] 특정 물고기를 잡은 총 수 구하기 (SELECT) | MySQL하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제 (+풀이)2. 해답1. 문제 (+풀이)WHERE두 테이블을 FISH_TYPE으로 JOIN인 한 뒤에 FISH_NAME_INFO 테이블의 FISH_NAME에 조건을 주어 필터링하면 된다.2. 해답-- 코드를 작성해주세요SELECT COUNT(*) AS FISH_COUNTFROM FISH_INFO AS I JOIN FISH_NAME_INFO AS N ON I.FISH_TYPE = N.FISH_TYPEWHERE N.FISH_NAME = "BASS" OR N.FISH_NAME = "SNAPPER"# 두 테이블 > INNER JOIN# FISH_NAME_I..

[프로그래머스 SQL] 연도 별 평균 미세먼지 농도 조회하기 (String, Date) | MySQL

[프로그래머스 SQL] 연도 별 평균 미세먼지 농도 조회하기 (String, Date) | MySQL 하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제 (+풀이)2. 해답1. 문제 (+풀이)WHERELOCATION2에서 '수원' 데이터만 추출.GROUP BY연도별로 그룹화하기 위해 GROUP BY에 YEAR()함수를 사용하여 그룹화 한다.2. 해답-- 코드를 작성해주세요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 YEAR(YM)ORDER BY YEAR

[프로그래머스 SQL] 조건에 맞는 사원 정보 조회하기 (GROUP BY) | MySQL

[프로그래머스 SQL] 조건에 맞는 사원 정보 조회하기 (GROUP BY) | MySQL하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제 2. 해답       2-1. SUBQUERY       2-2. NO SUBQUERY3. 풀이        3-1. JOIN 내부의 SUBQUERY        3-2. 순위를 추출할 때 사용하는 ORDER BY & LIMIT1. 문제 2. 해답2-1. SUBQUERY -- 코드를 작성해주세요SELECT G.TOTAL_SCORE AS SCORE, E.EMP_NO, E.EMP_NAME, E.POSITION, E.EMAILFROM HR_EMPLOYEES AS EJOIN (SELECT EMP_NO, ..

[프로그래머스 SQL] 조건에 맞는 개발자 찾기 (SELECT) | MySQL

[프로그래머스  SQL] 조건에 맞는 개발자 찾기 (SELECT) | MySQL하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제 (+풀이)2. 해답1. 문제 (+풀이)JOIN을 하지 않고 SUBQUERY를 사용하는 이유위의 문제는 비트 연산자를 통해 JOIN을 하여 해결할 수도 있다.그러나 비트 연산자를 통해 JOIN을 할 경우 JOIN 결과 테이블이 애매(?)해지는 결과가 생기기 때문에 SUBQUERY를 두 번 사용하는 방법의 풀이를 결정하였다.애매하다는 의미는 예를 들어 SKILL_CODE 상으로는 C#과 Python이 포함되지만, JOIN결과 NAME 컬럼에서는 Python 혹은 C#만 표기되기에 어떤 기술이 포함되어 있는지 전체를 알 수 없다.2. 해답-- 코드를 작성해주세요SELECT ..

[프로그래머스 SQL] 업그레이드 된 아이템 구하기 (SELECT) | MySQL

[프로그래머스 SQL] 업그레이드 된 아이템 구하기 (SELECT) | MySQL하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제 (+풀이)2. 해답1. 문제 (+풀이)INNER JOIN두 테이블을 사용하기에 INNER JOIN을 통해 연결한다.SUBQUERY해당 문제는 ITEM_INFO의 RARITY가 RARE인 ITEM_ID를 ITEM_TREE테이블의 PARENT_ITEM_ID에 전달한다.그러면 ITEM_ID가 PARENT_ITEM_ID가 되기에 업그레이드된 후의 ITEM을 출력할 수 있다.2. 해답-- 코드를 작성해주세요SELECT I.ITEM_ID, I.ITEM_NAME, I.RARITYFROM ITEM_INFO AS I JOIN ITEM_TREE AS T ON I...

[프로그래머스 SQL] ROOT 아이템 구하기 (IS NULL) | MySQL

[프로그래머스 SQL] ROOT 아이템 구하기 (IS NULL) | MySQL하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제 (+풀이)2. 해답1. 문제 (+풀이)JOIN두 테이블 ITEM_INFO와 ITEM_TREE가 있기에 JOIN문을 활용해야 한다.ITEM_ID 컬럼이 PRI와 FOR KEY로 들어가 있기에 해당 컬럼으로 JOIN 한다. (항상 PRI일 필요는 없음).WHEREROOT인 값을 찾아야 하기에 조건을 준다.2. 해답-- 코드를 작성해주세요SELECT I.ITEM_ID, I.ITEM_NAMEFROM ITEM_INFO AS I JOIN ITEM_TREE AS T ON I.ITEM_ID = T.ITEM_IDWHERE T.PARENT_ITEM_ID IS NULLORD..

[프로그래머스 SQL] 조건에 맞는 아이템들의 가격의 총합 구하기 (SUM, MAX, MIN) | MySQL

[프로그래머스 SQL] 조건에 맞는 아이템들의 가격의 총합 구하기 (SUM, MAX, MIN) | MySQL하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제2. 해답1. 문제2. 해답-- 코드를 작성해주세요SELECT SUM(PRICE) AS TOTAL_PRICEFROM ITEM_INFOWHERE RARITY = 'LEGEND'# 희귀도가 'LEGEND'인 아이템 > WHERE# 가격의 총합 > SUM# 컬럼명 'TOTAL_PRICE' > AS

[프로그래머스 SQL] 조건에 부합하는 중고거래 상태 조회하기 (String, Date) | MySQL

[프로그래머스 SQL] 조건에 부합하는 중고거래 상태 조회하기 (String, Date) | MySQL 하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제 (+풀이)2. 해답1. 문제 (+풀이)CASE ~ ELSE  ~ END거래상태에 따른 다중 조건을 주어야 하기 때문에 사용한다. CASE WHEN 문에서 다중 조건을 줄 때에는 ELSE를 반복하는 것이 아니라 WHEN을 반복해야 한다.2. 해답-- 코드를 입력하세요SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STATUS = 'SALE' THEN '판매중' WHEN STATUS = 'RESERVED' THEN '예약중' ELSE '거래완료' EN..

[프로그래머스 SQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (GROUP BY) | MySQL

[프로그래머스 SQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (GROUP BY) | MySQL하단의 목차를 클릭하여 이동할 수 있습니다 :)1. 문제 (+풀이)2. 해답1. 문제 (+풀이)WHERE ~ LIKE ~OPTIONS의 '통풍시트', '열선시트', '가죽시트' 등이 나열되어 있기 때문에 문자열 중에서 특정 값을 찾을 수 있는 LIKE와 와일드카드 %를 활용해야 한다.2. 해답-- 코드를 입력하세요SELECT CAR_TYPE, COUNT(*) AS CARSFROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%가죽시트%'GROUP BY CAR..