본문 바로가기

728x90

Study/OracleDB

(41)
18강 오라클 SQL HAVING 절 -- select 절에 조건을 사용하여 결과를 제한할 때는 WHERE 절을 사용하지만 -- 그룹의 결과를 제한할 때는 HAVING 절을 사용합니다. -- 부서별로 그룹지운 후(GROUP BY), 그룹 지어진 부서별 평균 급여가 2000 이상인(HAVING) -- 부서번호와 부서별 평균 급여를 출력하는 경우 입니다. -- 그룹 지어진 항목에 조건을 사용할 땐 having을 사용해야 한다. where 사용하면 에러발생. -- select deptno, avg(sal) from emp group by deptno where avg(sal)>=2000; select deptno, avg(sal) from emp group by deptno having avg(sal)>=2000; -- 부서의 최대값과 최소값을 ..
17강 오라클 SQL GROUP BY 절 -- 어떤 컬럼 값을 기준으로 그룹함수를 적용할 경우 GROUP BY 절 뒤에 해당 컬럼을 기술한다. -- select 컬럼명, 그룹함수 FROM 테이블명 WHERE 조건(연산자) GROUP BY 컬럼명; -- GROUP BY 절 다음에는 컬럼의 별칭을 사용할 수 없다. -- 사원 테이블을 부서 번호로 그룹지어 봅시다. select deptno from emp group by deptno; -- 소속 부서별 평균 급여 구하는 예제입니다. select deptno, avg(sal) from emp group by deptno; -- 단일 그룹의 그룹 함수가 아닙니다. select deptno, avg(sal) from emp; -- 단일 값 -- 여러개의 행 그래서 안되는거임. -- 그래서 DEPTNO 그..
16강 오라클 SQL 그룹 함수 집계 데이터 -- 그룹 함수는 하나 이상의 행을 그룹으로 묶어 연산하여 총합, 평균 등 하나의 결과로 나타납니다. -- 1.1 SUM 함수는 해당 칼럼 값들의 대한 총합을 구하는 함수 -- 다음은 급여 총액 구하는 예제입니다. select sal from emp; select sum(sal) from emp; -- 다음은 커미션 총액 구하는 예제입니다. select comm from emp; -- 커미션 컬럼에 NULL값인 사원이 존재하는데, NULL은 블랙 홀이므로 NULL을 저장한 컬럼과 연산한 결과도 NULL 이라고 한다. -- 커미션 총합을 구해도 NULL 값으로 출력되지 않는다. 그룹 함수는 다른 연산자와는 달리 해당 칼럼 값이 NULL인 것을 제외하고 계산하기 때문이다. select sum(comm) fr..
15강 오라클 SQL 조건식 -- 07. 선택을 위한 DECODE 함수 -- 프로그램 언어에서 가장 많이 사용되는 switch case문과 같은 기능을 갖습니다. -- 부서번호에 해당되는 부서명을 구하는 예제를 CASE 함수를 사용하여 작성. select ename, deptno, decode (deptno, 10, 'accounting', 20, 'reserarch', 30, 'sales',40, 'operations') as dname -- 이것에 대한 이름은 dname이다. from emp; --8. 직급에 따라 급여를 인상하도록 하자. 직급이 'ANAIYST'인 사원은 5%, --'SALEAMAN'인 사원은 10%, 'MANAGER'인 사원은 15%, 'CLERK'인 사원 --은 20%를 인상한다. select ename, ..
14강 오라클 SQL 데이터 함수의 적용 14강 오라클 SQL 데이터함수의 적용(문제풀기.) -- 1. 모든 교수의 수와 봉급의 합을 구하여라. -- 2. 수강 테이블에서 'B107'을 수강한 학생의 점수의 최대값과 최소값을 구하여라. -- 3. 다음을 실행하고 그 의미를 설명하여라. -- ABS(-32) -- CEIL(-4.2) -- FLOOR(-4.2) -- MOD(8,3) -- POWER(2,10) -- SQRT(9) -- 4. 학생 테이블에서 이름과 생일을 "김진우 1979년 9월 19일 수요일" 형태로 조회 하여라. -- 5. 교수 테이블에서 교수명과 봉급을 조회하되, "김현석 (원)02,800,000" 형태로 조회 하여라. -- 6. 다음 sql 문의 결과를 조회하고 각 함수의 의미를 설명하여라. -- select 'abc123ABC..
13강 오라클 SQL 변환함수 13강 oracle SQL 변환함수. -- 05. 형변환 함수 -- 오라클을 사용하다보면 숫자, 문자, 날짜의 데이터 형을 다른 데이터형으로 변환해야 하는 경우가 있는데 이럴 때 사용하는 함수가 형 변환 함수입니다. -- 형 변환 함수로는 TO_NUMBER, TO_CHAR, TO_DATE가 있습니다. -- 5.1 현재 날짜를 'YYYY-MM-DD' 형식으로 출력해보기. select sysdate, to_char(sysdate, 'yyyy-mm-dd') from dual; select sysdate, to_char(sysdate, 'yyyy-mm-dd hh:mi:ss') from dual; -- 문자형으로 변환하는 to_char 함수 날짜형을 문자형으로 변환하기. select hiredate, to_cha..
12강 오라클 SQL 날짜함수. 12강 oracle SQL 날짜함수. -- 4.1 현재 날짜를 반환하는 SYSDATE 함수 select sysdate from dual; -- 4.2 날짜 연산 select sysdate -1 어제, sysdate 오늘, sysdate+1 내일 from dual; -- -- 날짜를 빼는 연산, - 날짜 연산으로 구할 수 있음. 주의할 점은 현재에 가까운 날짜가 앞에 와야함. select sysdate - hiredate from emp; -- 4.3 특정 기준으로 반올림하는 ROUND 함수. ROUND(data, format) -- 일을 기준으로 16일보다 적으면 이번 달 1일을 크면 다음달 1일 구합니다. select hiredate, round(hiredate, 'month') from emp; --..
11강 오라클 SQL 문자함수 SQL 주요 함수(문자함수) * 이 장에서 다룰 내용 1.문자 처리 함수 1. 문자 처리 함수 구분 설명 LOWER 소문자로 변환한다. UPPER 대문자로 변환한다. INITCAP 첫 글자만 대문자로 나머지 글자는 소문자로 변환한다. CONCAT 문자의 값을 연결한다. SUBSTR 문자를 잘라 추출한다. (한글 1Byte) SUBSTRB 문자를 잘라 추출한다. (한글 2Byte) LENGTH 문자의 길이를 반환한다. (한글 1Byte) LENGTHB 문자의 길이를 반환한다. (한글 2Byte) LPAD, RPAD 입력 받은 문자열과 기호를 정렬하여 특정 길이의 문자열로 반환한다. TRIM 잘라내고 남은 문자를 표시한다. CONVERT CHAR SET을 변환한다. CHR ASCII 코드 값으로 변환한다. ..

728x90