본문 바로가기
반응형

프로그래머스143

[프로그래머스 - ORACLE] 오프라인/온라인 판매 데이터 통합하기 CREATE 문 CREATE TABLE ONLINE_SALE ( ONLINE_SALE_IDNUMBERNOT NULL, USER_IDNUMBERNOT NULL, PRODUCT_IDNUMBERNOT NULL, SALES_AMOUNTNUMBERNOT NULL, SALES_DATEDATENOT NULL ); CREATE TABLE OFFLINE_SALE ( OFFLINE_SALE_IDNUMBERNOT NULL, PRODUCT_IDNUMBERNOT NULL, SALES_AMOUNTNUMBERNOT NULL, SALES_DATEDATENOT NULL ); 내 풀이 SELECT SALES_DATE , PRODUCT_ID, USER_ID, SALES_AMOUNT FROM( SELECT TO_CHAR(SALES_DATE.. 2023. 3. 20.
[프로그래머스 - ORACLE] 모든 레코드 조회하기 CREATE 문 CREATE TABLE ANIMAL_INS ( ANIMAL_IDVARCHAR2(100)NOT NULL, ANIMAL_TYPEVARCHAR2(100)NOT NULL, DATETIME TIMESTAMP NOT NULL, INTAKE_CONDITIONVARCHAR2(100)NOT NULL, NAMEVARCHAR2(100)NULL, SEX_UPON_INTAKEVARCHAR2(100)NOT NULL ); 내 풀이 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC; 2023. 3. 20.
[프로그래머스 - ORACLE] 인기있는 아이스크림 CREATE 문 CREATE TABLE FIRST_HALF( SHIPMENT_IDNUMBER, FLAVORVARCHAR2(100), TOTAL_ORDERNUMBER ); 내 풀이 SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC , SHIPMENT_ID ASC; 어려울 거 없이 문제 그대로 ORDER BY 해주면 된다. 2023. 3. 20.
[프로그래머스 - ORACLE] 과일로 만든 아이스크림 고르기 CREATE 문 CREATE TABLE FIRST_HALF( SHIPMENT_IDNUMBER, FLAVORVARCHAR2(100), TOTAL_ORDERNUMBER ); CREATE TABLE ICECREAM_INFO ( FLAVORVARCHAR2(100), INGREDIENT_TYPEVARCHAR2(100) ); 내 풀이 SELECT H.FLAVOR FROM FIRST_HALF H INNER JOIN ICECREAM_INFO I ON H.FLAVOR = I.FLAVOR AND I.INGREDIENT_TYPE = 'fruit_based' AND H.TOTAL_ORDER > 3000 각각의 테이블에 FLAVOR로 연결이 되어 있기 때문에 JOIN을 이용해야함 한쪽은 PK , 한쪽은 FK로 되어 있음 2023. 3. 20.
[프로그래머스 - ORACLE] 조건에 맞는 도서 리스트 출력하기 CREATE 문 CREATE TABLE BOOK ( BOOK_IDINTEGER, CATEGORYVARCHAR(N), AUTHOR_IDINTEGER, PRICEINTEGER, PUBLISHED_DATEDATE, ); 내 풀이 SELECT BOOK_ID , TO_CHAR(PUBLISHED_DATE , 'YYYY-MM-DD') AS PUBLISHED_DATE FROM BOOK WHERE TO_CHAR(PUBLISHED_DATE , 'YYYY') LIKE '2021%' AND CATEGORY = '인문' ORDER BY PUBLISHED_DATE ASC; 데이트 포맷이 예시와 같아야 하기 때문에 둘다 같게 TO_CHAR 로 선언 2023. 3. 20.
[프로그래머스 - ORACLE] 평균 일일 대여 요금 구하기 CREATE 문 CREATE TABLE CAR_RENTAL_COMPANY_CAR ( CAR_IDINTEGER, CAR_TYPEVARCHAR(255), DAILY_FEEINTEGER, OPTIONSVARCHAR(255) ); 내 풀이 SELECT ROUND(AVG(DAILY_FEE) , 0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV' GROUP BY CAR_TYPE; SUV만 조회해야하며 전체를 묶어서 계산해야하기 때문에 GROUP BY 사용 AVG 는 평균을 내주는 함수인데 AVG(컬럼) 으로 하게 되었을때 소수점 자리 까지 다 나오기 때문에 깔끔하게 평균을 내기 위해 소수점 자리르 정리해 주는 ROUND 함수를 같이 이용한다. 2023. 3. 20.
반응형