목록CS/SQL (7)
한다 공부
SQL 고득점 Kit의 문제를 다 푼지 어언 2개월.. 8문제가 새로 추가되었다.. (2024/02/25 기준) 이 8문제를 풀어보고자 합니다. 1, 4, 6, 7번은 아이템과 관련된 문제 시리즈이고, 2, 3, 5, 8번은 개발자 찾기 관련된 문제 시리즈입니다. SELECT 1. 업그레이드 된 아이템 구하기 테이블을 삼중 조인하여 parent 아이템의 데이터를 select 했다 이때, 첫번째 join 시 left join을 하지 않았다. 왜냐하면 parent 아이템이 없는 경우도 있기 때문이다. (left join을 할 경우, parent 아이템이 null로 출력되므로) SELECT P.ITEM_ID, P.ITEM_NAME, P.RARITY FROM ITEM_INFO AS I JOIN ITEM_TREE..
SQL에서 글자와 날짜는 어떻게 다루지? 풀지 않은 10문제를 풀어보며 알아보도록 하겠습니다 1) 조건에 부합하는 중고거래 상태 조회하기 처음엔 아래와 같이 중첩 IF문을 사용했는데 CASE를 사용하면 좋을 것 같다고 생각했다. SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, IF(STATUS='DONE', '거래완료', IF(STATUS='SALE', '판매중', '예약중')) AS STATUS FROM USED_GOODS_BOARD WHERE CREATED_DATE LIKE '2022-10-05' ORDER BY BOARD_ID DESC; CASE를 사용하면 아래와 같다! SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STATU..
풀지 않은 JOIN 6문제를 풀고자 합니다 JOIN은 SQL의 꽃 같은 느낌이죠.. 암요 1) 주문량이 많은 아이스크림들 조회하기 평범하게 조인하고, 맛을 기준으로 그룹으로 분류해서 SUM 하고 정렬했다. SELECT H.FLAVOR FROM FIRST_HALF AS H JOIN JULY AS J ON H.FLAVOR = J.FLAVOR GROUP BY H.FLAVOR ORDER BY SUM(H.TOTAL_ORDER + J.TOTAL_ORDER) DESC LIMIT 3; 그런데 이해가 안되는 부분이 생겼다.. 뜨아.. JOIN을 하면 아래와 같이 되고 SUM을 해버리면.. # JOIN 결과 +------------+---------------+--------------+ | H.FLAVOR | H.TOT..
고득점 키트에서 풀지 않은 그룹바이 문제 11개를 풀고자 합니다 ^_^ 오잉 그런데 순서대로 풀고 있었는데,, 며칠 뒤 그룹바이 문제목록을 보니까 순서가 바뀌어있네요 ?! 뒤죽박죽으로 11문제를 풀어보았습니다..,, 1) 조건에 맞는 사용자와 총 거래금액 조회하기 그룹바이로 분류된 문제지만 조인과 연관도 있는 문제였다 우선 두 테이블을 조인한다. 그리고 where문을 통해 개별 행마다 done인 것을 추출해낼 것이다 그리고 유저 아이디로 그룹화한 다음, 유저가 판 물건 금액의 합이 700000이상인 것을 고른다. (여담: 속성은 주로 복붙하는데.. nickname이 문제 설명에 nickanme으로 표기되어있어서 복붙 실수를 했다 ㅋㅋㅋ) SELECT U.USER_ID AS USER_ID, U.NICKNA..
앞선 두개의 포스팅에 실린 sql 문제풀이를 따라가다 보면 요만큼의 진척도가 있었다. 여기서 풀지 않은 문제들을 풀려고한다. 일단 셀렉트 문제를 풀었다 (셀렉트 문제지만 join과 group by가 다 나오는.. ㅎ) 1) 12세 이하 여자 환자 목록 출력하기 - IFNULL (원하는 속성,"NULL일 경우 대체될 값") SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNO FROM PATIENT WHERE GEND_CD='W' AND AGE3000 ORDER BY F.TOTAL_ORDER DESC; 6) 조건에 부합하는 중고거래 댓글 조회하기 이건 문제가 불친절하게 되어있었는데, WHERE 절에서 댓글이 2022-10에 작성된게 아니라, ..
SQL을 4개월 만에 다시 들여다보니 기억이 잘 안나서.. 문제를 풀어 감을 익히고자 한다 🥹 프로그래머스 SQL 고득점 키트에 있는 것 중 안 풀었던 것을 풀 것임 1. SELECT https://school.programmers.co.kr/learn/courses/30/lessons/133024 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 인기있는 아이스크림 SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID; 정렬 조건을 두 개를 주고 싶어서 컴마를 사용했다 ( , ) 2. S..
SQL 문법을 자꾸 깜빡해서.. 꾸준히 보면서 복습하려고 정리해봤습니다 ..~ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ... 위 코스를 따라가며 문제를 풀었습니다 ..~ 1. SELECT 2. SUM, MAX, MIN 3. GROUP BY 4. IS NULL 5. JOIN 6. String, Date 1. SELECT SELECT 칼럼 FROM 테이블 WHERE 조건 ORDER BY 정렬기준; - 모든 레코드 조회하기 ANIMAL_INS 테이블의 모든 데이터를 ID 순으로 오름차순하며 조회 SELECT * FROM ANIMAL_INS ORDER B..