본문 바로가기

프로젝트(종료)/SQLD 자격증 따기16

[SQL]계층형 쿼리 및 셀프 조인 정리 계층형 쿼리 정의 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의(Hierarchical Query)를 사용한다. 계층형 데이터란 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말한다. 엔터티를 순환관계 데이터 모델로 설계할 경우 계층형 데이터가 발생한다. 순환관계 데이터 모델의 예로는 조직도, 사원(관리자포함), 메뉴 등이 있다. 계층형 쿼리 구조 SELECT 칼럼명... FROM 테이블명 WHERE 조건... START WITH 조건 CONNECT BY PRIOR 조건; START WITH절은 계층 구조 전개의 시작 위치를 지정하는 구문이다. 즉, 루트(시작) 데이터를 지정하며 조건을 만족하는 모든 ROW들은 루트 노드가 된다. CONNECT BY절은 다음.. 2021. 3. 17.
[SQL] 날짜형 함수 정리 ex) SELECT TO_CHAR(TO_DATE('2015.01.10 10', 'YYYY.MM.DD HH24') + 1/24/(60/10), 'YYYY.MM.DD HH24:MI:SS' FROM DUAL; -> 2015년 1월 10일 10시 + 10분 = 2015.1.10.10:10 2021. 3. 13.
NULL의 속성과 특징 앞으로 공부할 NULL의 속성과 특징을 계속해서 업데이트 할 글이다. 먼저 NULL의 속성부터 정리하면 NULL은 아직 정의되지 않은 값으로 0 또는 공백과 다르다. 0은 숫자이고, 공백은 하나의 문자이다. 테이블을 생성할 때 NOT NULL 또는 PK로 정의되지 않은 모든 데이터 유형은 NULL 값을 포함할 수 있다. NULL값을 포함하는 연산의 경우 결과 값도 NULL 값이다. 모르는 데이터에 숫자를 더하거나 빼도 결과는 마찬가지로 모르는 데이터인 것과 같다. 결과값을 NULL이 아닌 다른 값을 얻고자 할때 NVL/ISNULL 함수를 사용한다. NULL값의 대상이 숫자 유형 데이터인 경우는 주로 0을 사용하고, 문자 유형 데이터인 경우는 블랭크보다는 'X' 같이 해당 시스템에서 의미 없는 문자로 바꾸.. 2021. 3. 10.
여러가지 COUNT() 쓰임새 공부하다 보니 너무 헷갈려서 싹 다 해봐야겠다. 1. COUNT(*) 2. COUNT(컬럼) 3. COUNT(DISTINCT 컬럼) 4. 컬럼 1, COUNT(*) - GROUP BY 컬럼 1 5. 컬럼 1, COUNT(DISTINCT 컬럼2) - GROUP BY 컬럼 1 1. COUNT(*) : NULL값을 포함한 전체 행을 출력한다. 2. COUNT(컬럼) : NULL값을 제외한 전체 행을 출력한다. 3. COUNT(DISTINCT 컬럼) : 컬럼 내 DISTINCT한 값 출력한다. 4. 컬럼 1, COUNT(*) - GROUP BY 컬럼 1 : 컬럼 1의 고유한 값을 기준으로 NULL값 포함해서 몇 개의 데이터가 있는지 계산한다. 5. 컬럼 1, COUNT(컬럼) - GROUP BY 컬럼 1 : 4.. 2021. 3. 9.