IT/SQL 썸네일형 리스트형 SQL 기본 및 활용 1. 테이블 생성 시에 주의해야 할 몇 가지 규칙- 테이블 이름을 지정하고 각 컬럼들은 괄호 “( )”로 묶어 지정한다.- 컬럼 뒤에 데이터 유형은 꼭 지정되어야 한다.- 테이블명과 컬럼명은 반드시 문자로 시작해야되고, 벤더별로 길이에 대한 한계가 있다.- A-Z, a-z, 0-9, _, $, # 문자만 허용된다. 2. 테이블 생성 예제에서 추가적인 주의 사항- 테이블 생성 시 대/소문자 구분은 하지 않는다. 기본적으로 테이블이나 컬럼명은 대문자로 만들어짐- DATETIME 데이터 유형에는 별도로 크기를 지정하지 않는다.- 문자 데이터 유형은 반드시 가질 수 있는 최대 길이를 표시해야 한다.- 컬럼에 대한 제약조건이 있으면 CONSTRAINT를 이용하여 추가할 수 있다. ALTER TABLE1. ADD .. 더보기 SQL- 데이터 모델의 이해 제 1절 데이터 모델의 이해- 모델링의 특징1. 추상화(모형화, 가설화)는 현실세계를 일정한 형식에 맞추어 표현한다는 것으로.. 다양한 형상을 일정한 양식인 표기법에 의해 표현한다는 것2. 단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념3. 명확화는 누구나 이해하기 쉽게 애매모호함을 제거하고 정확하게 현상을 기술하는 것 - 데이터 모델링이란1. 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법2. 현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정3. 데이터베이스를 구축하기 위한 분석/설계 과정- 데이터 모델링의 중요성1. 파급효과(Leverage): 데이터 구조의 변경은 전체 시스템 구축 프로젝트에서 큰 위험요소이다.2. .. 더보기 RATIO_TO_REPORT 함수 RATIO_TO_REPORT 함수 - RATIO_TO_REPORT 함수를 이용해 파니션 내 전체 SUM(컬럼) 값에 대한 행별 컬럼 값의 백분율을 소수점으로 구할 수 있다. 결과값은 >0 & 0 & 더보기 LAG, LEAD 함수 LAG 함수 - LAG 함수를 이용해 파티션별 윈도우에서 이전 몇번째 행의 값을 가져올 수 있다. SQL SERVER에서는 지원하지 않는다.- EX) 직원들의 입사일자가 빠른 기준으로 정렬을 하고, 본인보다 입사일자가 한 명 앞선 사원의 급여를 본인의 급여와 함께 출력한다. SELECT ENAME ,HIREDATE ,SAL ,LAG(SAL) OVER(ORDER BY HIREDATE) AS PREV_SAL FROM EMP WHERE JOB = 'SALESMAN' ENAMEHIREDATE SAL PREV_SAL1ALLEN1981-02-201600.002WARD1981-02-221250.0016003TURNER1981-09-081500.0012504MARTIN1981-09-281250.001500 ,LAG(S.. 더보기 WINDOWING절 BETWEEN 사용 시: - ROW | RANGE BETWEEN UNBOUNDED PRECEDING | CURRENT ROW | PRECEDING/FOLLOWING ROWS UNBOUNDED PRECEDING | CURRENT ROW | VALUE_EXPRROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING: 현재 행을 포함해서 파티션 내의 마지막 행까지의 범위를 구하라RANGE BETWEEN 50 PRECEDING AND 150 FOLLOWINGRANGE UNBOUNDED PRECEDING: 현재 행을 기준으로 파티션 내의 첫번째 행까지의 범위를 지정한다. EX) SELECT MGR, ENAME, HIREDATE, SAL ROUND(AVG(SAL) OVER (PARTI.. 더보기 RANK, DENSE_RANK, ROW_NUMBER 개념 및 차이 RANK 함수 - RANK 함수는 ORDER BY를 포함한 쿼리문에서 특정 항목에 대한 순위를 구하는 함수이다. 이 때 특정범위 (PARTITION BY) 내에서 순위를 구할수도 있고 전체 데이터에 대한 순위를 구할 수도 있다.- 동일한 값에 대해서는 동일한 순서를 부여하게 된다.- ex) RANK() OVER (PARTITION BY JOB ORDER BY SAL DESC) SAL RANK1000 12000 22000 23000 4 DENSE_RANK 함수 - DENSE_RANK 함수는 동일한 순위를 하나의 건수로 취급한다. SAL RANK1000 12000 22000 23000 3 ROW_NUMBER 함수 - ROW_NUMBER 함수는 동일한 값이라도 고유한 순위를 부여한다. - 동일한 값의 순위를 .. 더보기 테이블 컬럼 사이즈 변경 ALTER TABLE 테이블이름 MODIFY(컬럼명 데이터타입(사이즈)); ex) alter table vendor_inf modify(nation_code varchar2(3)); 더보기 이전 1 다음