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

Data Science 89

[Elice SQL] 서브쿼리 심화: 연관/비연관, 단일행/다중행

*elice 코딩 강의안*- 메인쿼리랑 관련이 없고, 따로 빼도 동작에 문제가 없음. - 연관 비연관이 출력이 어떻게 되느냐에 대한 것이지, 다르게 구분되는 게 x- 해당 값이- 서브쿼리 값이 있는 지 없는지만- 아래처럼 해도 돌아는 가지만,-- EXISTS문을 응용하여, 결제금액이 5000원 이상인 가게ID, 가게이름을 조회하는 쿼리를 작성해보세요.SELECT store_id, store_nameFROM STOREWHERE EXISTS (SELECT store_id FROM PAYMENT WHERE PAY_AMOUNT >= 5000)ORDER BY store_id;- 정답은 같은 칼럼끼리 명백하게 이어줌.-- EXISTS문을 응용하여, 결제금액이 5000원 ..

Data Science/SQL 2025.03.04

[Elice SQL] null은 in, = 연산자로 못 씀.. is null 로 해

-.. 하 이거 저번에도 틀렸던 거 같은데 그 사이에 까먹었나 보다...ㅎ - NULL 값은 비교 연산(= 또는 IN)에서 필터링되지 않음=> NULL 값을 포함하려면 IS NULL을 사용해야 함 수정 전select *from MEMBERleft outer join MEMBER_DTL using(member_id)where member_grade in ('NULL', 'BRONZE')order by member_id; 수정 후 - 이젠 까먹지좀 말자.. ㅎSELECT *FROM MEMBERLEFT OUTER JOIN MEMBER_DTL USING (member_id)WHERE member_grade IS NULL OR member_grade = 'BRONZE' -- is nullORDER BY membe..

Data Science/SQL 2025.03.03

[Elice SQL] 조인 join

- *ㅇ리스 강의 자료*- 그럼 사실 using도 쓸 필요없이 natural join 하면 되는 거 아님?  => 명시적이라서 on을 씀 - cross 생략되지만, on/using 없을 때만 크로스 조인임.   -- 3. 위에서 작성한 두 쿼리에서 ORDER BY를 제거 후, 중복을 제거하는 집합연산자로 결합하고 최종 결과에 대해 정렬을 해주세요.select f.version_id, f.version_content_front, b.version_content_backfrom FRONT_VERSION_HIST fleft outer join BACK_VERSION_HIST bon f.version_id = b.version_idunionselect b.version_id, f.version_content_f..

Data Science/SQL 2025.03.03

[프로그래머스 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
728x90
반응형