자신에게 친절할 것 :)
728x90
반응형

Data Science/SQL 25

[프로그래머스 SQL] 데이터 타입 주의 할 것. (date는 left()-> X)

연도별 대장균 크기의 편차 구하기 수정 전- 뭐가 문제일까..- cte 집계함수 안된대서.. 유니언 안 하고 뺐는데..with recursive cte as ( select ID, left(DIFFERENTIATION_DATE, 4) as YEAR, SIZE_OF_COLONY FROM ECOLI_DATA )select c.YEAR, (max(e.SIZE_OF_COLONY)-min(e.SIZE_OF_COLONY)) as YEAR_DEV, e.ID from ECOLI_DATA e join cte c where c.id = e.id order by YEAR, YEAR_DEV; 수정 후1- WITH RECURSIVE → WITH로 변..

Data Science/SQL 2025.03.02

[Elice SQL] 다중행, 단일행 서브쿼리

- 서브쿼리 강의로 넘어왔는데.. 매번 그냥 냅다썼지 잘 몰라서 캡처본 올림- *엘리스 sql 강의임* - 기본 구조!!- 서브쿼리 먼저 실행되고 여러 번 실행 가능임.-- 사원 번호가 7인 사원보다 나이가 어린 사원의 모든 컬럼을 조회 하는 쿼리를 작성하세요.select *from empwhere birthdate > (select birthdate from emp where empnum = 7);   - 이거 좀 헷갈리는 듯..?-  > any() : 1개만 커도 되니깐 크려면 최소값보다만 커도 되고, 작으려면 최대값보다 작아야 하고 -> 내부적으로 모두 or 연산- > all() : 모든 값보다 커야 되니깐 최대값보다 커야 함. 반..

Data Science/SQL 2025.03.01

[프로그래머스 sql] date_format()안 해도 month() 가능

분기별 분화된 대장균의 개체 수 구하기 수정 전- 이전에 했던 것들 참고해가면서.. 써봤는데.. 연습에선 돌아갔는 데 문제를 제출하면 계속 안 된다. WITH QUARTERS AS ( SELECT ID, NTILE(4) OVER (ORDER BY DATE_FORMAT(DIFFERENTIATION_DATE, '%m')) AS QUARTER FROM ECOLI_DATA )SELECT CASE WHEN QUARTER = 1 THEN '1Q' WHEN QUARTER = 2 THEN '2Q' WHEN QUARTER = 3 THEN '3Q' ELSE '4Q' END AS QUARTER, COUNT(*) AS ECOLI_COUNTFROM QUA..

Data Science/SQL 2025.02.26

[프로그래머스 sql] left join, count()는 null을 0으로 셈

대장균들의 자식의 수 구하기수정 전- ... 일단.. 아래가 최선이긴 했는데 뭐가 문제일까...select p.id AS ID, (case when c.count(*) = 'null' then 0 else as CHILD_COUNT)from ECOLI_DATA pjoin ECOLI_DATA c on p.id = c.idwhere p.id = c.parent_idgroup by p.idorder by id; 수정 후 - ㅎ 오류가 너무 많아서.. 그거 짚고 수정본select p.id AS ID, (case when c.count(*) = 'null' then 0 -- count(*) null과 비교 x, count(*) = 0 else as CHILD_COUNT) -- else count(*) end ..

Data Science/SQL 2025.02.25

[elice sql] sql 데이터 삽입/수정/삭제

- 인서트는 잘 안 써서.. 정처기 볼 때도 매번 헷갈렸는데강의가 정리를 워낙 잘해주고 실습을 반복적으로 하게 해서 이번에 제대로 기억할 것 같다.  insert into 테이블(칼럼명, ...,) values(값, ...,) 수정 전- 그냥 생각없이.. 썼는데 안 되서 뭐려나 싶었음. insert into product ('id', '이름', '재고', '유통기한', '정가', '판매가') values(1, 'carrot', 100, '2019-04-10', 1000, 900, 2, 'tea', 1000, '2020-02-10', 1000, 900, 3, 'clock', 100, NULL, 200000, 180000); 수정 후- 칼럼명은 따옴표를 안 해도 됨 !..

Data Science/SQL 2025.02.25

[프로그래머스 sql] where ~ like는 문자열 타입 비교, date는 다르게

- 왜 틀린 건지 모르겠는데..? 수정 전 SELECT b.TITLE, b.BOARD_ID, r.REPLY_ID, r.WRITER_ID, r.CONTENTS, date_format(r.CREATED_DATE, '%Y-%m-%d') as CREATED_DATEfrom USED_GOODS_BOARD bjoin USED_GOODS_REPLY r using(BOARD_ID)where r.CREATED_DATE like '2022-10-%'order by r.CREATED_DATE asc, b.TITLE asc;  수정 후1- created_ date 칼럼은 date 타입인데,where ~ like는 문자열 타입을 비교할 때 쓰는 것이라서 돌아가는 것처럼 보여도 문제가 있음. - date_format을 그대로..

Data Science/SQL 2025.02.24

[Elice sql] 쿼리 순서 주의할 것 select는 실행이 마지막임!

- elice 코딩에서 sql 강의를 듣기 시작했는데,BMI..? 이거 지금 select 실습인데.. 안 풀린다고..???이게 무슨 일이야... ++ elice 코딩은 실습기가 mariaDB임. - 맨날 mysql만 했는데 아직까지 차이는 모르겠으나.. 무료로 접할 수 있는 기회가 되어서 그냥 엘리스에서 듣는 중  하다가... 그래 순서.. 근데 그럼 서브쿼리 말고 방법이 없는 건가? 수정 전select *, 10000*(weight / (height * height)) as BMIfrom studentwhere BMI >= 25 OR BMI  수정 후  - 사실은 방법이 3개가 있음. 왜.. where절에 냅다 할 생각을 못한 건지 ㅋㅋㅋ..ㅎ1. having 으로 바로 사용 2. 서브쿼리 사용3. w..

Data Science/SQL 2025.02.24

[프로그래머스 sql] 트리구조에서 cte recursive, 리프 노드

멸종위기의 대장균 찾기 - 아니 무슨 대장균 찾기의 끝이 없냐...  수정 전 - 방금 전 한 대로 cte recursive 를 써보려는 데 런타임 에러가 뜸...- 또, cte에서는 not in을 쓸 수 없대. WITH RECURSIVE GEN AS ( SELECT ID, 1 AS GENERATION FROM ECOLI_DATA WHERE PARENT_ID IS NULL -- 1세대 UNION ALL SELECT A.ID, B.GENERATION + 1 AS GENERATION FROM ECOLI_DATA A, GEN B WHERE A.PARENT_ID NOT IN (B.ID))SELECT COUNT(ID) AS COUNT, GENER..

Data Science/SQL 2025.02.19

[프로그래머스 sql] cte recursive

- 이전 문제 풀이 다른 사람들이 한 것을 보다가 재귀를 사용하신 분이 있었는데,depth를 활용해서 하는 게 아직도 익숙하지 않아서 그분의 답을 보며 아래에 정리하면서 공부하려고 함.  앞이랑 똑같은  문제이다.  특정 세대의 대장균 찾기WITH RECURSIVE RE AS ( -- (1) 초기 조건: 최상위 부모 노드 찾기 (Depth = 1) SELECT ID, 1 AS DEPTH FROM ECOLI_DATA WHERE PARENT_ID IS NULL UNION ALL -- (2) 재귀적으로 하위 노드를 탐색하여 Depth 증가 SELECT A.ID, B.DEPTH + 1 AS DEPTH FROM ECOLI_..

Data Science/SQL 2025.02.19
728x90
반응형