Database/Oracle

오라클 강의자료 2011.09.14 (쌍용교육센터)

Leonardo Go 2011. 9. 15. 10:26


2011.9.14
    유사문자열 검색
       1. %
           select * from emp where ename like '%S'
             끝나는 문자열 ~S로 끝났을 경우
           select * from emp where ename like 'S%'
             시작하는 문자열 S~로 시작된 경우
           select * from emp whree ename like '%S%'
              S자의 위치가 아무위치에 존재하는 경우
        2. _문자의 갯수
           select * from emp where ename '_ _ _S'
              'S____'
        3. 대소문자 구분 주의한다
    ★ 실습 ★
       SELECT * from emp where ename like '%S';
       SELECT * FROM emp WHERE ename like 'S%';
       SELECT * FROM emp WHERE ename like '%S%';
       SELECT * FROM emp WHERE ename like '____S';

     SELECT : 검색 (조건==WHERE)
     UPDATE : 데이터 수정
        형식) UPDATE table명 SET 필드명=값....
     WHERE 필드명 = 값
     날짜 : regdate=sysdate
     DELETE : 데이터 삭제
         형식) DELETE FROM table명
      WHERE 필드명 = 값
 DML (데이터 조작언어)
       SELECT(DQL,DML), INSERT(DML), UPDATE(DML) DELETE(DML)

 문제1)
  10번 그룹의 급여의 최대값, 최소값을 출력
     select MAX(sal),MIN(sal) from emp GROUP BY deptno HAVING deptno=10;
  20번 그룹의 급여의 평균과 총합을 출력
     SELECT AVG(sal),SUM(sal) FROM emp GROUP BY deptno HAVING deptno=20;
 그룹별 급여의 최대값, 최소값을 출력
     SELECT deptno,MAX(sal),MIN(sal) FROM emp GROUP BY deptno;

 SELECT
    다중행 함수
    COUNT(*)  : NULL을 포함한 전체
    COUNT(필드명) : NULL을 제외한 전체
    MIN(필드명),MIN(필드명),SUM(필드명),AVG(필드명)
    단일행
    UPPER():대문자 변환
    SUBSTR():중간에 문자를 분해
    TO_CHAR():날짜나 숫자 변환
    NVL():NULL일 경우에 다른 문자,숫자로 변환
    ROUND():반올림

    연산자 : AND,OR(IN),NOT,IS NULL
      산술, 관계(비교)

emp의 총 갯수를 출력
      SELECT COUNT(*) FROM emp;
emp의 comm의 갯수를 출력
      SELECT COUNT(comm) FROM emp;  // NULL값은 갯수를 세지 않는다.