Hello World

I can do it!
사용자 정보 테이블,제약조건 및 여러 사용자데이터를 데이터 딕셔너리를 통해 볼 수 있다. 딕셔너리 정보. 그러나 요센 데이터 딕셔너리는 거의 사용하지 않는다고 한다. SQL Delveloper등 개발툴(GUI 지원)등으로 대부분 정보를 볼 수 있기 때문에
테이블 간 레코드를 보고싶은 범위? 에서 쉽게 볼 수 있는 방법 뷰 테이블을 생성하면 이용하면 메번 긴 쿼리문장을 작성할 필요가 사라진다. 뷰생성법 (위의 OUTER JOIN 질의문을 뷰 테이블로 만들어 쉽게 볼 수 있다.)
유니온 : 레코드를 합치는 작업 (각 테이블간 참조하지 않아도 합칠 수 있다.) UNION : 합쳤을때 완전히 일치하는 레코드는 하나로 표시된다. MINUS : 공통분모 레코드를 제거한다. INTERSECT : 공통분모 레코드를 표시한다. UNIONALL : 합쳤을때 중복되는 레코드까지 모두 표시. 사용법
ANSI 방식 사용 이번 강의 SKIP. Oracle 방식이 있다는것만 알아두자.
SELFJOIN 자기와 자기테이블을 합친다 (테이블 안에서 각 컬럼이 참조하는 값을 가질 수 있다.) 왜 필요한가?? 아래 사원 테이블에 상사를 참조로 하는 컬럼이 있다고 할때 SELFJOIN을 활용하여 조회할 수 있을 것이다. 사원 테이블 상사 관계도 ex) SELFJOIN하기전 테이블 SELFJOIN하고난후 테이블 아래 처럼 출력 되는 것을 볼 수 있다. SELFJOIN시 자신의 테이블에 JOIN하는거라 테이블마다 명칭을 붙여 보기 쉽게 하도록 해준다.
업무를 진행 하다보면 Outer Join을 주로 사용한다. 그 이유는 주인공인 테이블은 Outer이라도 레코드를 포함시켜야 하기 때문 상황이 많이 있기 때문 아래 그림 참조. 또한 Join할때 필드간 충돌을 방지하기 위해 테이블간 별칭을 사용하여 Join시켜주도록 한다. MEMBER테이블은 주인공인 테이블로 게시글 여부에 상관 없이 JOIN시 모든 레코드가 출력이 되어야 한다. 그러므로 OUTER JOIN을 이용하여 모든 레코드를 뽑아온다.
참조키를 기준으로 일치하지 않는 행 포함 하는것을 아웃터 조인이라고 한다. LEFT 왼쪽 테이블 아웃터 레코드를 포함해라. RIGHT 오른쪽 테이블 아웃터 레코드를 포함해라. FULL 양쪽 테이블 아웃터레코드를 포함시켜라 (아웃터 레코드 포함시 참조되지 않는 데이터는 NULL값으로 들어간다.) 아래 예를 봐보자. MEMBER 테이블 (참조키 ID필드) NOTICE 테이블 (참조키 WRITER_ID필드) MEMBER테이블(왼쪽 OUTER포함하는) OUTER JOIN 을 실행하면. 아래와 같은 출력 결과를 볼 수 있다.
JOIN의 예 참조 관계(MEMBER 참조키 ID, NOTICE 참조키 WRITER_ID ) 일대다 관계 MEMBER테이블(부모)를 참조 하여 NOTICE(자식)테이블이 여러개의 레코드를 만든다. 테이블간 JOIN이 될때 각 테이블에 관계 없는 레코드들은 빠지게 된다 JOIN시 각 테이블간 관계없는 레코드를 아웃터라고 이야기 한다. 아래 예제를 살펴보자 MEMBER (부모)테이블 (참조키 ID) NOTICE (자식)테이블 (참조키 WRITER_ID) INNER JOIN을 통해 참조하는 테이블끼리 합치게 될시 아웃터는 MEMBER 테이블의 TEST ID 레코드가 된다. INNER JOIN 출력 결과를 봐보자. SELECT * FROM MEMBER INNER JOIN NOTICE ON MEMBER.ID = ..
순서를 바꾸거나 바꾼 순서의 결과를 가지고 조회할 때 사용한다. 이럴때 서브쿼리를 써준다. ㄹ
RANK() : 동일한 값이면 중복 순위를 부여하고, 다음 순위는 해당 개수만큼 건너뛰고 반환한다. DENSE_RANK() : 동일한 값이면 중복 순위를 부여하고, 다음 순위는 중복 순위와 상관없이 순차적으로 반환한다. ROW_NUMBER() : 중복 관계없이 순차적으로 순위(일련번호)를 반환한다. 일부 사용예제를 봐보자. ROW_NUMBER 사용예제 RANK() 그룹별 사용 예제 출처 : https://m.blog.naver.com/gglee0127/221318160003 [Oracle] 순위를 반환하는 함수 (RANK, DENSE_RANK, ROW_NUMBER) 테이블에서 특정 값을 기준으로 순위를 매겨서 보고 싶을 때 ORDER BY 절을 사용합니다. 동일한 점... blog.naver.com
병아리개발자Mr Jo
입문 개발자의 IT 이야기