1. 오라클 접속 오류 해결
    1. 접속 : sqlplus scott/tiger
    2. 오류메시지 : ORA-28000: the account is locked
      1. 오라클 설치시 scott 계정을 막아놓아서 발생하는 오류
      2. DBA로 접속(ID: system, PW:)
      3. 다음 명령 실행 : ALTER USER scott IDENTIFIED BY tiger ACCOUNT UNLOCK;
    3. 오류메시지 : ORA-01033: ORACLE initialization or shutdown in progress
      1. 접속 종료후 다시 접속하면 해결됨
    4. 오류메시지 :ORA-01034 : ORACLE not anailable
      ORA-27101 : shared memory realm does not exist

      1. sqlplus “/as sysdba”
      2. SQL> startup
  2. SELECT 문
  3. DESC :  테이블의 구조 보기
  4. sqlplus 설정
    1. COL empno FOR 9999 : empno 필드는 숫자 4자리 표현
    2. COL ename FOR a8 : ename 필드는 8자 표현
    3. SET LINE 200 : 가로 1줄에 200자까지 표현
    4. SET PAGES 50 : 한페이지에 50라인 표현
  5. 원하는 컬럼만 출력

    1. Good Morning 대신에 I’m Good 을 출력하려면
      1. q[‘I’m Good’]  -> q[] 사이에 입력
      2. ‘Im Good’    -> 작은따옴표 2개
    2. hello 대신에 good morning을 쓰려면
      1. as “good morning”  -> 큰따옴표로 표현
  6. DISTINCT : 중복 제거

    1. DISTINCT는 모든 컬럼의 값에 대해 중복값 제거
    2. SELECT 바로 뒤에 와야 함
    3. 오라클9i버전까지 : 정렬을 사용해서 심각한 속도 저하 발생
    4. 오라클10g버전부터 : HASH 알고리즘을 사용하여 정렬 안함->속도 향상
  7. 연산자 사용
    1. 사칙연산자 사용 : +  –  *  /
    2. 연결 연산자(||) 사용
  8. 원하는 조건만 골라내기 – WHERE절
    1. 문자는 작은따옴표 사용, 대소문자 구분
    2. 날짜 작은따옴표 사용, 대소문자 구분 안함
      1. 윈도우용 : ’80/12/17′
      2. 리눅스용 : ’17-DEC-80′
    3. 다양한 연산자

      1. LIKE 패턴
        1. ename=’홍%’ : 아무개 문자 0~n자, 홍, 홍길, 홍길동, 홍….
        2. ename=’홍_’ : 아무개 문자 1자, 홍(x), 홍길(o), 홍길동(x)
        3. ‘홍%’, ‘%길동’ 속도 비교 : ‘%길동’은 매우 느림, %나 _이 앞에 오면 매우 느림
    4. & 기호를 사용하여 외부에서 값 입력받기
  9. ORDER BY 절로 정렬하기 : 필드명 or 필드위치
  10. 집합연산자
    1. UNION : 두 집합을 합쳐서 출력, 중복값은 제거하고 정렬함
    2. UNION ALL : 두 집합을 합쳐서 출력, 중복값 제거 안하고 정렬 안 함
    3. INTERSECT : 두 집합의 교집합 결과 출력, 정렬함
    4. MINUS : 두 집합의 차집합 결과 출력, 정렬함, 쿠리의 순서 중요
    5. 조건
      1. 두 집합의 SELECT 절에 오는 컬럼의 개수가 동일해야 함
      2. 두 집합의 SELECT 절에 오는 컬럼의 자료형이 동일해야 함
      3. 두 집합의 컬럼 명은 달라도 상관없음
error: Content is protected !!