본문 바로가기

sql3

[SQL] 데이터의 구조를 변경하는 기능 (PIVOT, UNPIVOT) 데이터의 구조1)LONG DATA(tidy data)-하나의  속성이 하나의 컬럼으로 정의되어 값들이 여러 행으로 쌓이는 구조- PDBMS의 테이블 설계 방식- 다른 테이블과의 조인 연산이 가능한 구조 1) LONG DATA(Tidy data)우리가 알고있는 DBMS의 테이블형태길게 생겼다(LONG DATA) 또는 깔끔하게 생겼다(Tidy data)라고 함 LONG DATA(Tidy data)EMPNOENAMEJOBMGRHIREDATE7369SMITHCLERK79021980/12/17 00:00:007499ALLENSALESMAN76981981/02/20 00:00:007521WARDSALESMAN76981981/02/22 00:00:007566JONESMANAGER78391981/04/02 00:00:.. 2024. 8. 19.
[SQL] 계층형 질의, 계층형 쿼리 계층형 질의-하나의 테이블 내 각 행끼리 관계를 가질 때, 연결고리를 통해 행과 행 사이의 계층(depth)을 표현하는 기법ex) DEPT2 에서의 부서별 상하 관계-PRIOR 의 위치에 따라 연결하는 데이터가 달라짐SEELCT 컬럼명FROM 테이블명START WITH 시작조건 -- 시작점을 지정하는 조건 전달CONNECT BY [NOCYCLE] PRIOR 연결조건; -- 시작점 기준으로 연결 데이터를 찾아가는 조건 ** START WITH : 데이터를 출력할 시작 지정하는 조건** CONNECT BY PRIOR : 행을 이어나갈 조건** NOCYCLE : 순환이 발생하면 무한 루프가 될 수 있기 때문에 이를 방지하고자 사용  ㄴ A가 B를 가르키고 B가 다시 A를 가르킬 .. 2024. 8. 19.
[SQL] 탑 앤 쿼리 (TOP N QUERY) TOP N QUERY-페이징 처리를 효과적으로 수행하기 위해 사용-전체 결과에서 특정 N개 추출예) 성적 상위자 3명  TOP-N 행 추출 방법1.ROWNUM2.RANK3.FETCH4.TOP N(SQL Server)  1.ROWNUM-출력된 데이터 기준으로 행 번호 부여-절대적인 행 번호가 아닌 가상의 번호이므로 특정 행을 지정할 수 없음(=연산 불가)-첫번째 행이 증가한 이후 할당되므로 '>' 연산 사용 불가(0은 가능)EX) ROWNUM 출력 형태SELECT ROWNUM, EMP.* FROM EMP WHERE SAL >=1500;  ROWNUM 잘못된 사용#ROWNUM 잘못된 사용1#크다 조건 전달 불가SELECT * FROM EMPWHERE ROWNUM > 1#ROWNUM 잘못된 사용2#항상 불변.. 2024. 8. 18.