본문 바로가기

하루하루/SQL 문제풀이5

[프로그래머스/Oracle] 59045. 보호소에서 중성화한 동물 문제 https://school.programmers.co.kr/learn/courses/30/lessons/59045?language=oracle 쿼리문 SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME FROM ANIMAL_INS I JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE I.SEX_UPON_INTAKE LIKE 'Intact%' AND O.SEX_UPON_OUTCOME NOT LIKE 'Intact%' ORDER BY I.ANIMAL_ID; 풀이 두 테이블을 비교하는 것이기 때문에 JOIN을 사용했다. SELECT문으로 조회하려는 컬럼이 ANIMAL_INS와 ANIMAL_OUT 테이블 모두에 있으므로 INNER JOI.. 2023. 12. 17.
[프로그래머스/Oracle] 131113. 조건별로 분류하여 주문상태 출력하기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/131113?language=oracle 풀이 조건1. FOOD_ORDER 테이블에서 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회 SELECT ORDER_ID, PRODUCT_ID, OUTDATE, "출고여부" FROM FOOD_ORDER 이때, OUT_DATE가 YYYY-MM-DD HH-mm-ss 형식으로 나오기 때문에 YYYY-MM-DD 형식으로 조회하기 위해서는 TO_CHAR( OUT_DATE, 'YYYY-MM-DD' ) AS OUT_DATE 라고 해준다. 따라서, SELECT ORDER_ID, PRODUCT_ID, TO_CHAR( OUT_DATE, 'YYYY-M.. 2023. 12. 15.
[Lv.3 Oracle] 144855 - 카테고리 별 도서 판매량 집계하기 문제 풀이 1. 검색을 하는 것이 조건이기 때문에 SELECT문을 사용한다. 2. BOOK 테이블과 BOOK_SALES 테이블은 BOOK_ID 컬럼으로 JOIN 하여 각 도서의 판매정보를 가져온다. 이때 OUTER 조인이 아닌 INNER 조인을 사용한다. 두 테이블 간의 관계가 일치하기 때문에 OUTER JOIN이 아니라 INNER JOIN을 사용했다. 3. 조건이 2022년 1월의 카테고리 별 도서 판매량이므로 날짜를 추출하여 사용할 수 있도로 EXTRACT()함수를 사용하였다. (참고 : [Oracle] 날짜정보 추출 함수 / EXTRACT ) 4. 카테고리별로 그룹화하기 위해 GROUP BY 로 카테고리 컬럼을 묶었다. 5. 컬럼은 1) CATEGORY와 2) SLAES의 합을 알 수 있도록 SUM.. 2023. 11. 13.
[프로그래머스/Oracle] 59047. 이름에 el이 들어가는 동물 찾기 / 대소문자 구분하지 않는 조건일때 / UPPER, LOWER 사용 59047. 이름에 el이 들어가는 동물 찾기 문제 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 보호소에 돌아가신 할머니가 기르던 개를 찾는 사람이 찾아왔습니다. 이 사람이 말하길 할머니가 기르던 개는 이름에 'el'이 들어간다고 합니다. 동물 보호소에 들어온 동물 이름 중, 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 .. 2023. 10. 15.