목록프로그래밍 (91)
코딩하는 문과생
# SET Operator 두 개 이상의 쿼리 결과를 하나로 결합시키는 연산자 SELECT 절에 기술하는 컬럼 개수와 데이터 타입은 모든 쿼리에서 동일해야 함 UNION(합집합, 중복 제거), UNION ALL(합집합, 중복 모두 출력), INTERSECT(교집합), MINUS(차집합) # EX1) SELECTEMP_ID , ROLE_NAME FROMEMPLOYEE_ROLE UNION ALL SELECTEMP_ID , ROLE_NAME FROMROLE_HISTORY; //UNION, UNION ALL, INTERSECT, MINUS # 특징 필요에 따라서 Dummy Column을 부여하는 경우도 있다. 결합된 이후 ORDER BY가 필요하다면 index를 보통 부여한다. # EX2) SELECTEMP_N..
# JOIN 논리 모델링에서 중요한 점은 다대다를 풀어주고 정규화 시키는 것이다. EQUAL JOIN: 공통부분을 이용해 JOIN한다. NON EQUAL JOIN: 공통부분이 없다. 근데 JOIN한다. JOIN이후 하나의 논리 테이블이 만들어진다고 생각하자. # 오라클 전용 구문 EX1) SELECTEMP_NAME, DEPT_NAME FROMEMPLOYEE E, DEPARTMENT D WHEREE.DEPT_ID = D.DEPT_ID; # 오라클 전용 구문 EX2) SELECTEMP_NAME , SALARY , SLEVEL FROMEMPLOYEE E , SAL_GRADE S WHEREE.SALARY BETWEEN S.LOWEST AND S.HIGHEST; # 오라클 전용 구문 EX3) //OUTER JOI..
# 그룹함수 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..