분류 전체보기 50

GROUP BY&HAVING&집합연산자4

-UNION ALL : 합집합 + 교집합 (중복된 부분이 두번 도화될 수 있음)SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY FROM EMPLOYEE WHERE DEPT_CODE = 'D5'  -- 12 UNION ALL SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY FROM EMPLOYEE WHERE SALARY > 3000000;  -- 2206 박나라 D5 1800000 207 하이유 D5 2200000 208 김해술 D5 2500000 209 심봉선 D5 3500000 210 윤은해 D5 2000000 215 대북혼 D5 3760000 200 선동일 D9 8000000 201 송종기 D9 6000000 202 노옹철 D9 3700000 ..

GROUP BY&HAVING&집합연산자3

집합 연산자    :여러 개의 쿼리문을 하나의 쿼리문으로 만들어주는 연산자UNION : 합집합  , INTERSECT : 교집합 , UNION ALL : 합집합 , MINUS : 차집합    -UNION : 합집합 OR (두 쿼리문을 수행한 결과값을 더해줌)--부서코드가 D5인 사원 또는 급여가 300만원 초과인 사원들의 사번,이름,부서코드,급여 조회 SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY FROM EMPLOYEE WHERE DEPT_CODE = 'D5' OR SALARY > 3000000; 200 선동일 D9 8000000 201 송종기 D9 6000000 202 노옹철 D9 3700000 204 유재식 D6 3400000 205 정중하 D6 3900000 206 ..

GROUP BY&HAVING&집합연산자2

HAVING절:그룹에 대한 조건을 재시할 때 사용되는 구분 (보통 그룹함수식을 가지고 주건을 작성함) --각 부서별 평균 급여가 300만원 이상인 부서만 조회 SELECT DEPT_CODE,ROUND(AVG(SALARY)) FROM EMPLOYEE --WHERE AVG(SALARY) >= 3000000; --WHERE절에서는 그룹함수 사용불가 GROUP BY DEPT_CODE HAVING AVG(SALARY) >= 3000000; --직급 별 직급코드, 총 급여합 조회 (단, 직급별 급여 합이 1000만원 이상인 직급만 조회) SELECT JOB_CODE, SUM(SALARY) FROM EMPLOYEE GROUP BY JOB_CODE HAVING SUM(SALARY) >= 10000000; --부서별 보..

과일로 만든 아이스크림 고르기 풀이

SELECT F.FLAVOR FROM FIRST_HALF F JOIN ICECREAM_INFO J  ON  F.FLAVOR = J.FLAVOR WHERE TOTAL_ORDER > 3000 AND INGREDIENT_TYPE = 'fruit_based' ORDER BY TOTAL_ORDER DESC  JOIN ※  두개 이상의 테이블에서 데이터를 조회하고자 할 때 사용되는 구문             조회결과는 하나의 결과물(RESULT SET)로 나옴          ※ 관계형 데이터베이스(RDB)에서는 최소한의 데이터를 각각의 테이블에 저장            중복저장을 최소화하기 위해 최대한 쪼개서 관리함=> 관계형 데이터베이스에서 쿼리문을 이용한 테이블간의 "관계"를 맺는 방법        (각 테이..

카테고리 없음 2024.07.24

평균 일일 대여 요금 구하기 문제

문제 설명다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.Column nameTypeNullableCAR_IDINTEGERFALSECAR_TYPEVARCHAR(255)FALSEDAILY_FEEINTEGERFALSEOPTIONSVARCHAR(255)FALSE자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스..

카테고리 없음 2024.07.24

평균 일일 대여 요금 구하기 문제

문제 설명다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.Column nameTypeNullableCAR_IDINTEGERFALSECAR_TYPEVARCHAR(255)FALSEDAILY_FEEINTEGERFALSEOPTIONSVARCHAR(255)FALSE자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스..

흉부외과 또는 일반외과 의사 목록 출력하기 문제

문제 설명 다음은 종합병원에 속한 의사 정보를 담은DOCTOR 테이블입니다. DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다.Column nameTypeNullableDR_NAMEDR_IDLCNS_NOHIRE_YMDMCDP_CDTLNOColumn nameTypeNullableDR_NAMEVARCHAR(20)FALSEDR_IDVARCHAR(10)FALSELCNS_NOVARCHAR(30)FALSEHIRE_YMDDATEFALSEMCDP_CDVARCHAR(6)TRUETLNOVARCHAR(50)TRUE문제DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나..

흉부외과 또는 일반외과 의사 목록 출력하기 풀이

-- 코드를 입력하세요 SELECT DR_NAME, DR_ID,MCDP_CD, TO_CHAR(HIRE_YMD, 'YYYY-MM-DD') FROM DOCTOR  WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'  ORDER BY HIRE_YMD DESC, DR_NAME  ASC; ※ AND, OR 로 조건을 연결할 수 있음 ※ WHERE : 조회하고자 하는 데이터를 특징 조건에 따라 추출하고자 할 때 사용(조건) ※ TO_CHAR : 숫자 또는 날짜 타입의 값을 문자 타입으로 변환시켜주는 함수 [표현법]      TO_CHAR(숫자|날짜[, 포맷]) ※ ORDER BY : SELECT문의 가장 마지막 줄에 작성, 실행순서 또한 마지막에 실행 ※ ASC : 오름차순 정렬 (기본값) ※DE..

GROUP BY&HAVING&집합연산자

GROUP BY절     : 그룹 기준을 제시할 수 있는 구문     : 여러 개의 값들을 하나의 그룹으로 묶어서 처리하는 목적으로 사용-- 부서별 급여 총 합 조회 SELECT DEPT_CODE, SUM(SALARY) FROM EMPLOYEE GROUP BY DEPT_CODE;D9 17700000 D6 10100000 D5 15760000 D8 6986240 5210000 D1 7820000 D2 6520000 -- 부서별 사원 수 조회 SELECT DEPT_CODE, COUNT(*)  -- 3 FROM EMPLOYEE               -- 1 GROUP BY DEPT_CODE;         -- 2D9 3 D6 3 D5 6 D8 3 2 D1 3 D2 3 -- 부서코드가 'D6', 'D9',..