NO.1
1.형변환 함수
- TO_CHAR('컬럼명' , 변환시킬 형식)
: TO_CHAR(SVC_END_DATE,'YYYYMM') -> SVC_END_DATE에 있는 모든 데이터를 '문자형'인 'YYYYMM'형태로 변환
- TO_DATE('컬럼명',변환시킬 형식)
: TO_DATE('201501','YYYYMM') -> 문자값 '201501'을 DATE형식으로 변환
-> DATE 형식은 년월일 시분초인 'YYYYMMDDHH24MISS'
-> 20150101000000로 인식
2. NULL
- 공백과 NULL은 다름
- ISNULL(컬럼, 지정값) : 컬럼이 NULL인 경우 지정값으로 변경
- COUNT(컬럼) : 컬럼 행이 NULL인 경우 COUNT 되지 않음.
- NULL이 포함된 컬럼을 GROUP BY 할 경우, NULL도 함께 분류함
- NULL의 개념
- NULL은 아직 정의되지 않은 값
- 0이 아님
- 공백도 아님
- 연산에 포함될 경우, 결과도 NULL이 나옴
- NULL 관련 함수
- NUL/ISNULL(표현식 1, 표현식 2) : 표현식 1의 결과값이 NULL인 경우 표현식 2의 값을 출력
- NULLIF(표현식1,표현식2) : 표현식1이 표현식 2와 같으면 NULL을, 같지않으면 표현식 1을 리턴
- COALESCE(표현식1,표현식2) : 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타냄
- NULL인 컬럼을 조회할 때는 '컬럼명 IS NULL' 또는 '컬럼명 IS NOT NULL' 로 조회 해야함.
3. 서브 쿼리 : 쿼리 안에 다른 쿼리
SELECT COL1(SELECT...) -> 스칼라 서브쿼리(Scalar Sub Query) : 하나의 컬럼처럼 사용(표현 용도/)
FROM(SELECT...) -> 인라인 뷰(Inline View) : 하나의 테이블처럼 사용(테이블 대체 용도)
WHERE col = (SELECT...) -> 일반 서브쿼리: 하나의 변수(상수)처럼 사용(서브쿼리의 결과에 따라지는 조건절)
4. ORDER BY
- 문장의 제일 마지막에 오며, ASC오름차순 DESC 내림차순으로 지정가능 (기본이 ASC)
- GROUP BY 다음에 오면 GROUP BY 표현식이 아닌 값을 기술할 수 없다
5. SQL 문장의 실행 순서
- FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY
1) 발췌 대상 테이블 참조 (FROM)
2) 발췌 대상 데이터가 아닌 것 제거 (WHERE)
3) 행동들 소그룹화 (GROUP BY)
4) 그룹핑된 값의 조건에 맞는 것만 출력(HAVING)
5) 데이터 값을 출력, 계산(SELECT)
6) 데이터 정렬(ORDER BY)
6. EQUI JOIN 방법
SELECT 테이블1.컬럼명, 테이블2.컬럼명
FROM 테이블1 INNER JOIN 테이블2
ON 테이블1.컬럼명 = 테이블2.컬럼명