1. IN, NOT IN 문

    [용법] IN 문
    
    SELECT *
      FROM TABLE 
     WHERE COLUMN IN ('A' , 'B')
     
    
    [IN문 풀이]
    
    SELECT *
      FROM TABLE 
     WHERE COLUMN  = 'A' 
        OR COLUMN = 'B'
    
    [용법] NOT IN 문
    
    SELECT *
      FROM TABLE 
     WHERE COLUMN NOT IN ('A' , 'B')
     
    [NOT IN문 풀이]
    
    SELECT *
      FROM TABLE 
     WHERE COLUMN  <> 'A' 
       AND COLUMN <> 'B' # AND COLUMN <> NULL 은 존재할 수 없는 연산
    

    IN, NOT IN 문 안에 서브쿼리 사용시에는 주의 하셔야 될 경우가 있습니다.

    NOT IN문 서브쿼리의 결과 중에 NULL이 포함되는 경우 데이터가 출력되지 않기 때문에

    조회 컬럼에 IS NOT NULL 조건을 주셔야 합니다.

    SELECT *
      FROM TABLE1 
     WHERE COLUMN1 NOT IN (SELECT COLUMN2
                            FROM TABLE2
                           WHERE COLUMN2 **IS NOT NULL)**
    

    그래서! 서브쿼리 내에 조회컬럼이 IS NOT NULL인 조건을 주어 NULL 인 데이터를 빼고

    조회를 하셔야 원하는 데이터를 추출 할 수 있습니다.

    출처 : https://aljjabaegi.tistory.com/459

  2. 논리 모델링의 외래키는 물리 모델에서 선택 사항으로 구현한다

  3. 전사적 데이터 모델링, EA 수립 → 개념적 데이터 모델링

  4. 숫자함수 ( 어떤 테이블을 사용하지 않기에 FROM 뒤에 DUAL 이라는 더미 테이블 사용)

    [예시]
    
    SELECT 숫자함수(3.45,{m}) FROM DUAL;
    

    FLOOR : 숫자보다 작거나 같은 최대 정수를 리턴 CEIL/CEILING : 숫자보다 크거나 같은 최소 정수를 리턴 TRUNC: 숫자를 소수 m 자리에서 잘라서 리턴 (m default : 0) ROUND : 숫자를 소수 m 자리에서 반올림하여 리턴 (m default : 0)

  5. IDENTITY (seed, increment)

    seed : 첫번째 행이 입력될 때의 시작값

    increment : 증가되는 값

    해당 칼럼에 값을 넣을 경우 ERRor 발생

    오라클 CHECK (A<5) 도메인 조건에서 NULL 값 넣으면 무시됨.

  6. 인덱스

    LIKE 은 칼럼을 무조건 문자로 형변환!!!!

    #COL1 NUMBER
    
    WHERE COL1 LIKE '2'
    				⬇️⬇️⬇️
    WHERE TO_CHAR(COL1) LIKE '%2'
    
  7. 계층형 sql

    CONNECT BY ISLEAF : 전개 과정에서 해당 데이터가 리프 데이터면 1,아니면 0 CONNECT_BY ISCYCLE : 전개 과정에서 자식을 갖는데, 해당 데이터가 조상으로 존재하면 1, 그렇지 않으면 0 여기서 조상이란 자신으로부터 루트까지의 경록에 존재하는 데이터를 말함 SYS_.CONNECT_BY_PATH : 하위 레벨의 컬럼까지 모두 표시해줌 (구분자 지정 가능) CONNECT.BY_ROOT : Root 노드의 정보를 표시

  8. 윈도우 함수

    Untitled