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

Data Science 89

[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

[Elice sql] 그룹 함수

*엘리스 코딩 강의안* - 실무에서는 group by를 더 많이 사용한다고 함.  - rollup() 뒤에 오는 컬럼 명 순서가 중요함. 그것을 기준으로 나누는 것 .- so, rollup과 달리 cube는 뒤에 오는 칼럼의 순서가 상관이 없음. - 노랑: rollup(d.name, j.name)- 분홍: rollup(j.name, d.name)=> cube는 이 2개를 모두 합친 것. - 마리아 디비는 cube 가 없으니 with rollup 2개를 union  해주면 됨. - ROLLUP처럼 동시에 고려하는게 아니라, grouping sets() 뒤에 칼럼 각각의 값을 그루핑- union all 써주면 됨.

Data Science/SQL 2025.03.11

[Elice sql] 윈도우 함수.. 오타 진짜 주의

- 그룹 내 행 순서함수 - 윈도우 함수가 길어지니깐 헷갈려진다.. 수정 전-- 그룹 별, 참가자의 앞, 뒤 기록과 그룹 내에서 가장 빠른 기록, 가장 느린 기록을 조회하세요.select ID GROUP_NUM, TIME_RECORD, LAG(TIME_RECORD, 1) over(PARTITION BY GROUP_NUM ORDER BY TIME_RECORD) LAG, LEAD(TIME_RECORD, 1) OVER(PARTITION BY GROUP_NUM ORDER BY TIME_RECORD) LEAD, FIRST_VALUE(TIME_RECORD) OVER(PARTITION BY GROUP_NUM ORDER BY TIME_RECORD LOWS BETWEEN UNBOUNDED PRECEED..

Data Science/SQL 2025.03.11

[Elice sql] as 뒤에는 () 사용 X

- 집계함수로.. sum을 잘 모르겠음..  수정 전 -- 2. SUM 집계 함수를 이용하여, 판매자 이름, 상품 ID 별 판매 금액을 구하는 쿼리를 작성하세요.SELECT S.SELL_ID, S.SELLER_NAME, P.PRODUCT_NAME, S.QUANTITY, SUM(PRICE * QUANTITY) OVER( PARTITION BY SELLER_NAME, PRODUCT_ID) AS (PRICE * QUANTITY)FROM PRODUCT PJOIN SELL S ON S.PRODUCT_ID = P.PRODUCT_IDORDER BY P.PRODUCT_ID;- as 뒤에는 () 사용 X 수정 후-- 2. SUM 집계 함수를 이용하여, 판매자 이름, 상품 ID 별 판매 금액을 구하는 쿼리를 ..

Data Science/SQL 2025.03.10

[Elice SQL] 비연관 서브쿼리. 항상 on 안써도 됌. 그냥 대치 값 넣을 것

수정 전- 뭐가 문제일까.. manager_id를 어디로 넣어야 하는 지 잘 모르겠어..-- 급여가 8000미만인 직원의 관리자 아이디와 급여를 출력하는 쿼리를 작성하세요.select employee_id, salaryfrom EMPLOYEE where employee_id in ( select employee_id from EMPLOYEE where salary  수정 전- manager_id를 구해서 그냥 직원 아이디에 넣으면 됌. 굳이 조인 x-- 급여가 8000미만인 직원의 관리자 아이디와 급여를 출력하는 쿼리를 작성하세요.select employee_id, salaryfrom EMPLOYEE where employee_id i..

Data Science/SQL 2025.03.04
728x90
반응형