목록프로그래밍/SQL (52)
코딩하는 문과생
# 그룹함수 SUM, AVG, MIN, MAX, COUNT... (그룹함수는 NULL을 계산하지 않는다.) SUM( [DISTINCT] expr ) AVG( [DISTINCT] expr ) MIN( expr ) MAX( expr ) COUNT( * | [DISTINCT] expr ) GROUP BY (GROUP BY에 명세된 컬럼은 SELECT절에 명세될 수 있다. 기본 컬럼은 불가) //PARSING 순서 SELECT --4 FROM --1 WHERE --2 ~~ GROUP BY --3 HAVING --3 # EX1) SELECTDEPT_ID AS 부서 , ROUND(AVG(SALARY), -4) AS 평균급여 FROMEMPLOYEE GROUP BY DEPT_ID ORDER BY1; //********..
# 데이터 타입 변환 함수: 암시적 변환 명시적 변환 TO_CHAR( input_type[, format] ) SELECTTO_CHAR(1234, '09999') FROMDUAL; //01234 //**************************************** SELECTTO_CHAR(1234, '99,999') FROMDUAL; //1,234 SELECTEMP_NAME, SALARY FROMEMPLOYEE WHEREEMP_ID = 100; //묵시적 형변환은 성능을 떨어뜨린다. //왜냐하면 묵시적 형변환은 값이 아닌 칼럼을 변환시키기 때문에 //**************************************** SELECTEMP_NAME, SALARY FROMEMPLOYEE WHEREE..
[단일함수와 그룹함수] 단일 행 함수: input n개, output n개 그룹 함수: input n개, output 1개 # select와 where절에 함수 적용이 가능하다. [단일함수의 예] # 문자열 함수: NUMBER LENGTH(string), NUMBER INSTR( string, substring, [ position, [ occurrence ] ] ) - position은 index or 찾는 방향, occurence는 찾는 횟수 SELECTINSTR(EMAIL, '.') FROMEMPLOYEE; SELECTINSTR(EMAIL, 'c', -1, 2) FROMEMPLOYEE; SELECTINSTR(EMAIL, 'c', INSTR( EMAIL, '.')-1 ) FROMEMPLOYEE; //..
[ERD: 객체 관계도] ERD: Entity Relationship Diagram # Recursive relationship이 존재할 수도 있다. 자기가 자신을 참조 ex. 사원에 대한 사수와 관계 # 관계가 없는 테이블: Some table -> JOIN이 될 수 있다.(Non-equals JOIN) # 관계 실선: 식별 유형 (전이된 기본키가 자식테이블의 기본 키가 되는 경우, Optional이 사라진다.) 점선: 비식별 유형 (전이된 기본키가 자식테이블의 기본 속성이 되는 경우) [기본용어] 행 컬럼 기본키(Identifier): 각 행을 식별할 수 있는 칼럼 또는 컬럼 조합 (중복 x, Null x, if 관계, no Change) 외래키: 다른 테이블의 기본키를 참조하는 컬럼 (부모테이블의 ..