DB

· DB/오라클
보통 데이터를 처리할떄 데이터의 존재 여부를 확인(SELECT) 하고 해당 값이 없으면 삽입(INSERT) 하고 있으면 업데이트(UPDATE)를 하게 된다.MERGE INTO [TABLE / VIEW] -- UPDATE 또는 INSERT 할 테이블 혹은 뷰 USING[TABLE / VIEW / DUAL] -- 비교할 대상 테이블 혹은 뷰(위 테이블과 동일할 경우 DUAL을 사용) ON [조건] -- UPDATE 와 INSERT 처리할 조건문(조건이 일치하면 UPDATE / 불일치 시 INSERT) WHEN MATCHED THEN -- 일치하는 경우 UPDATE SET [COLUMN1] = [VALUE1], [COLUMN2] = [VALUE2], ..
https://9566.tistory.com/471 [SQL 프로그래머스 JOIN] 상품을 구매한 회원 비율 구하기 (ORCALE, MYSQL)USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체9566.tistory.com정답SELECT TO_CHAR(SALES_DATE,'YYYY') YEAR ,TO_NUMBER(TO_CHAR(SALES_DATE,'MM')) MONTH ,COUNT(DISTINCT(USER_ID)) PURCHASED_USERS ,ROUND(COUNT(DISTINCT(USER_ID)..
· DB/오라클
오라클 9i R2부터 WITH절을 사용할 수 있도록 기능이 추가되었다WITH 절은 임시 테이블 또는 가상 테이블이라고 생각하면 된다.반복되는 서브쿼리 블록을 하나의 WITH 절 블록으로 만들어서 사용하거나, 긴 문장의 서브 쿼리를 WITH절로 만들어서 SELECT문의 가독성을 높일 수 있다.WITH 절 사용법다중 WITH 절 사용법 (여러 개)WITH 절에 여러 개의 임시 테이블을 만들고 싶을 때는 쉼표(",")를 찍고 이어서 선언하면 된다.WITH emp_w1 AS( SELECT deptno , AVG(sal) AS sal_avg FROM emp GROUP BY deptno), emp_w2 AS ( SELECT job , AVG(sal) AS sal_avg FR..
https://school.programmers.co.kr/learn/courses/30/lessons/151141정답WITH HIST AS (SELECT B.HISTORY_ID AS HISTORY_ID , A.CAR_ID AS CAR_ID , A.CAR_TYPE AS CAR_TYPE , A.DAILY_FEE AS DAILY_FEE , B.DURATION AS DURATION , CASE WHEN B.DURATION 풀이WITH 절대여 기간 구하기대여 종료일 - 대여 시작일 +1SELECT HISTORY_ID , CAR_ID , END_DATE - START_DATE + 1 AS durationFROM CAR_RENTAL_CO..
https://school.programmers.co.kr/learn/courses/30/lessons/62284 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr정답1. INTERSECT (교집합)SELECT cart_idFROM CART_PRODUCTSWHERE NAME = 'Yogurt'INTERSECTSELECT cart_idFROM CART_PRODUCTS WHERE NAME ='Milk'ORDER BY cart_id2. 서브쿼리SELECT DISTINCT CART_IDFROM CART_PRODUCTS WHERE CART_ID IN ( SE..
https://school.programmers.co.kr/learn/courses/30/lessons/131116 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr정답SELECT CATEGORY, PRICE,PRODUCT_NAMEFROM FOOD_PRODUCTWHERE (CATEGORY , PRICE) IN ( SELECT CATEGORY, MAX(PRICE) FROM FOOD_PRODUCT WHERE CATEGORY IN ('과자','국','김치','식용유') GROUP BY CATEGORY )ORDER BY PRICE DESC풀이SE..
https://school.programmers.co.kr/learn/courses/30/lessons/131117정답SELECT A.PRODUCT_ID,A.PRODUCT_NAME,SUM(A.PRICE*B.AMOUNT) TOTAL_SALESFROM FOOD_PRODUCT A INNER JOIN FOOD_ORDER B ON A.PRODUCT_ID=B.PRODUCT_IDWHERE TO_CHAR(PRODUCE_DATE,'YYYY') ='2022' AND TO_CHAR(PRODUCE_DATE,'MM') ='05'GROUP BY A.PRODUCT_ID,A.PRODUCT_NAMEORDER BY TOTAL_SALES DESC, A.PRODUCT_ID
https://school.programmers.co.kr/learn/courses/30/lessons/131124정답SELECT A.MEMBER_NAME,B.REVIEW_TEXT,TO_CHAR(B.REVIEW_DATE,'YYYY-MM-DD') REVIEW_DATEFROM MEMBER_PROFILE A INNER JOIN REST_REVIEW B ON A.MEMBER_ID = B.MEMBER_IDWHERE A.MEMBER_ID IN ( SELECT MEMBER_ID FROM REST_REVIEW GROUP BY MEMBER_ID HAVING COUNT(*) =( SELECT MAX(COUNT(*)) FROM REST_REVIEW GRO..
https://school.programmers.co.kr/learn/courses/30/lessons/131537정답SELECT TO_CHAR(SALES_DATE,'YYYY-MM-DD') SALES_DATE , PRODUCT_ID , USER_ID , SALES_AMOUNTFROM ONLINE_SALEWHERE TO_CHAR(SALES_DATE,'YYYY') = '2022' AND TO_CHAR(SALES_DATE,'MM') = '03'UNIONSELECT TO_CHAR(SALES_DATE,'YYYY-MM-DD') , PRODUCT_ID , NULL AS USER_ID -- 오프라인 곡개은 USER_ID 없으므로 NULL 값으로 채움 , SALES_AMOUNTFRO..
https://school.programmers.co.kr/learn/courses/30/lessons/132204정답SELECT A.APNT_NO,B.PT_NAME,A.PT_NO,A.MCDP_CD,C.DR_NAME,A.APNT_YMDFROM APPOINTMENT A INNER JOIN PATIENT B ON A.PT_NO = B.PT_NO INNER JOIN DOCTOR C ON A.MDDR_ID=C.DR_IDWHERE A.MCDP_CD='CS' AND A.APNT_CNCL_YN='N' AND TO_CHAR(A.APNT_YMD,'YYYY-MM-DD')='2022-04-13'ORDER BY A.APNT_YMD
lavender1122
'DB' 카테고리의 글 목록