DS가 되기 위한 여정 👩‍💻
728x90
반응형

Data Science/SQL 44

[프로그래머스 sql] if 활용하기

특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 - ..? 뭐가 문제인 걸까..?select count(*) as FISH_COUNT, avg(length) as MAX_LENGTH, FISH_TYPEfrom FISH_INFOwhere length in (select case when length = 33order by FISH_TYPE; - 위처럼 하면, 10으로 길이가 다 고정되어서 나올 수 있음. 그래서 아래처럼 having절에 바로 case when then 넣었음. - 또, 문제를 잘못 이해해서 맥스 렝쓰를 구해야 하는데 평균을 출력하는 식으로 썼음. SELECT COUNT(*) AS FISH_COUNT, MAX(length) AS MAX_LENGTH, F..

Data Science/SQL 2025.04.01

[프로그래머스 sql] substring()에 익숙해질 것.

카테고리별 상품 개수 구하기 SELECT CASE WHEN PRODUCNT_ID IN (1,2) THEN 'A1', WHEN PRODUCNT_ID IN (3,4) THEN 'C3', ELSE 'K1' END AS CATEGORY, COUNT(*) AS PRODUCTFROM PRODUCTGROUP BY PRODUCT_IDORDER BY PRODUCT_ID;- 이번에는 뭐가 문제인걸까 - when절은 , 를 하지도 않음- 그룹바이가 문제임. -> 그룹바이도 id가 아니라 category인데 그렇게 하면, alias를 쓰는 거라- select 절보다 실행이 빠른 group by에서 안 됨.  - 다른 분들 답 보니깐, substring()이랑 left(..

Data Science/SQL 2025.03.31

[프로그래머스 sql] select에서도 like 조건문 가능

- 출력시 where like 조건문 주기..- 아래가 틀린 건 알겠는데 방법이 없나? SELECT ANIMAL_ID, NAME, case when SEX_UPON_INTAKE = 'Neutered%' then 'O' case when SEX_UPON_INTAKE = 'Spayed%' then 'O' ELSE 'X' END AS 중성화FROM ANIMAL_INSORDER BY ANIMAL_ID;  - select문에서 like 조건문 가능. SELECT ANIMAL_ID, NAME, case when SEX_UPON_INTAKE like 'Neutered%' then 'O' when SEX_UPON_INTAKE like 'Spayed%' th..

Data Science/SQL 2025.03.31

[프로그래머스 sql] datetime에서 시간 제외 date()

..?  이게 왜 안되는 지 모르겠음..?- date()가 적용이 안됌. SELECT HISTORY_ID, CAR_ID, date(START_DATE), END_DATE, case when (END_DATE - START_DATE) >= 30 THEN '장기 대여' else '단기 대여' end as RENT_TYPEfrom CAR_RENTAL_COMPANY_RENTAL_HISTORYorder by HISTORY_ID; - mysql이 되어야 하는데 이유를 모르겠음. SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE, DATE_FORMAT(END_DATE, '%Y-%m-%d') A..

Data Science/SQL 2025.03.30

[프로그래머스 sql] 비트연산.. 너무 익숙해지지가 않음..

조건에 맞는 개발자 찾기 - 이진수는.. 왜 익숙해지지가 않는 걸까.. 수정 전 - 어떻게 해야 할지도 기억이 안 난다..SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPERSWHERE 수정 후 1 - 이것도 안 되는데 지피티도 나도.. 이유를 모르고.. 있다가 SELECT D.ID, D.FIRST_NAME, D.LAST_NAME, D.EMAILFROM DEVELOPERS DJOIN SKILLCODES S ON (D.SKILL_CODE & S.CODE) = S.CODE -- 비트wise AND 연산WHERE S.NAME IN ('Python', 'C#') -- Python 또는 C# 스킬을 가진 개발자만 조회ORDER BY D.ID; 수정 후 2..

Data Science/SQL 2025.03.20

[Elice sql] 서브쿼리에서는 on 아니고 where로 조건 줄 것. exists 사용이 더 나음.

수정 전- 이게 1개 이상이 출력된다는데수정 지점을 잘 모르겠다..확실히 많이 풀어봐야 되는 것 같다.select j.coin_ticker, j.price from JAPAN_EXCHANGE jjoin KOREA_EXCHANGE k on k.coin_ticker = j.coin_tickerwhere j.price >= ( select price from KOREA_EXCHANGE )order by j.coin_ticker; 수정 후 SELECT j.coin_ticker, j.price FROM JAPAN_EXCHANGE jWHERE j.price >= ( SELECT k.price FR..

Data Science/SQL 2025.03.13

[Elice sql] cte..는 계속 헷갈림.

수정 전- ... 아 이거 알았다고 생각했으나.. 착각이었음..-- MEMBER 테이블로 계층형질의를 실시하고 lvl, member_name, manager_name을 조회하세요.with recursive cte as ( select member_id, member_name, manager_id, 0 as lvl from MEMBER WHERE manager_id is null union all select a.member_id, a.member_name, a.manager_id, b.lvl+1 as lvl from cte b left outer join MEMBER a on b.manager_id = a.member_id)select lvl, member_..

Data Science/SQL 2025.03.13

[Elice SQL] full outer join을 union으로 할 때

* 마리아 디비는 full outer join 안 됨  수정 전-  이게 도저히... 문제가 뭔지 모르겠었는데. SELECT s.product_id, s.product_name, s.market_id, s.price AS market_price, d.store_id, d.price AS store_priceFROM SUPERMARKET sLEFT OUTER JOIN DEPARTMENT_STORE d ON s.product_id = d.product_idUNIONSELECT s.product_id, s.product_name, s.market_id, s.price AS market_price, d.store_id, d.price AS store_priceFROM SUPERMARKE..

Data Science/SQL 2025.03.12

[Elice sql] from 서브쿼리 별칭을 명시해야 오류 x

수정 전-- 2. 1번에서 확인한 누적 백분율 값에 대해 조건을 걸어, 상위 30%초과 상위 70%이내 학생들을 출력하세요.SELECT ID, SCORE, CUME_DIST() OVER(ORDER BY SCORE DESC) AS CUME_DISTFROM (SELECT S.ID, S.SCORE, CUME_DIST() OVER(ORDER BY SCORE DESC) AS S.CUME_DISTFROM STUDENT S)WHERE S.CUME_DIST BETWEEN 0.3 AND 0.7ORDER BY S.CUME_DIST; -일단  from 절에서 서브쿼리로 썼으면 굳이  select에서 다시 할 필요 없음- as 뒤에 테이블명을 붙이면 X- 서브쿼리 값을 메인쿼리에서 가져다가 사용하지 x 수정 후..

Data Science/SQL 2025.03.11
728x90
반응형