본문 바로가기

728x90
반응형

SQL

(23)
[Oracle] 취소되지 않은 진료 예약 조회하기 문제 PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요. Pseudo Code 3개의 테이블 조인 APNT_YMD 컬럼이 20220413 이고 MCDP_CD이 CS이고 APNT_CNCL_YN가 N인 데이터가 나오도록 필터링 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목 추출 APNT_CNCL_YN 기준 ASC 내코드 SELECT A.APNT_NO, P.PT_NAME, P.PT_NO, D.MCDP_CD..
[Oracle] 자동차 대여 기록에서 장기/단기 대여 구분하기 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. Pseudo Code CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월인 데이터만 추출하는 SQL문 작성 START_DATE, END_DATE컬럼은 예시의 데이트 포맷과 동일해야 정답처리 되므로 그에 맞게 포매팅 해준다. 대여 기간이 30일 이상이면 장기, 그외는 단기 대여로 표시할 수 있도록..
[Oracle] 주문량이 많은 아이스크림들 조회하기 문제 7월 아이스크림 총 주문량과 상반기의 아이스크림 총 주문량을 더한 값이 큰 순서대로 상위 3개의 맛을 조회하는 SQL 문을 작성해주세요. Pseudo Code FIRST_HALF와 JULY 테이블에서 FLAVOR 컬럼을 기준으로 총 주문량을 알기 위해 중복이 되지 않도록 UNION ALL하여 새로운 테이블을 만든다. 1의 결과 SQL문으로 부터 FLAVOR별 주문량을 알아내기 위해 FLAVOR 컬럼을 그룹핑해준뒤 집계함수로 TOTAL_ORDER 계산한다. 총주문량이 많은 순서부터 뽑아내기 위해 TOTAL_ORDER 컬럼 기준 DESC 2의 결과 테이블로부터 ROWNUM이 1,2,3인 FLAVOR 값을 반환한다. 내코드 SELECT FLAVOR FROM ( SELECT FLAVOR, SUM(TOTAL..
[Oracle] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 문제 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동차 ID를 기준으로 내림차순 정렬해주세요. Pseudo Code 자동차의 ID, ..
[PostgreSQL] RLS의 제한과 추가 검증 제어- USING, WITH CHECK WITH CHECK 절과 USING 절은 PostgreSQL의 CREATE POLICY 문에서 정책이 적용되는 행과 열에 대한 제한과 추가 검증을 제어하는 데 사용된다. USING USING 절은 WHERE 절과 비슷하게 작동한다고 생각하면 된다.즉, USING 절에 지정된 조건이 참인 경우에만 허용된다. PostgreSQL의 CREATE POLICY 문에서 정책이 적용되는 조건을 지정하는 데 사용된다. USING 절은 선택적이며, 정책이 적용될 조건을 지정하지 않으면 해당 정책은 항상 적용된다. CREATE POLICY sales_policy ON sales FOR SELECT, INSERT, UPDATE, DELETE TO sales_role USING (user_id = current_user); ..
[Oracle] 자동차 대여 기록 별 대여 금액 구하기 문제 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '트럭'인 자동차의 대여 기록에 대해서 대여 기록 별로 대여 금액(컬럼명: FEE)을 구하여 대여 기록 ID와 대여 금액 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 대여 기록 ID를 기준으로 내림차순 정렬해주세요. Pseudo Code 1. CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블을 CAR_ID 컬럼값으로 이너 조인을 걸어준다. 2. 이너조인시 CAR_..
[Oracle] 저자 별 카테고리 별 매출액 집계하기 문제 2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요. Pseudo Code 1. 판매일이 2022년 1월인 BOOK_SALES 데이터 추출 2. BOOK, AUTHOR, 1번 테이블을 조인 3. 저자별 카테고리별 데이터 필요하므로 AUTHOR_ID, AUTHOR_NAME, CATEGORY로 그룹바이 4. 카테고리별 매출액은 집계함수 SUM 사용해서 판매량*판매가 계산 5. AUTH..
[Oracle] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬해주세요. 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외해주세요. Pseudo Code 1. 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차를 구하는 SELECT문 출력 - 2022년 8월부터 2022년 10월까지 -> START_DATE 날짜변환, b..

728x90
반응형