MySQLD 자격증 공부

● TOP N QUERY  - 페이징 처리를 효과적으로 수행하기 위해 사용  - 전체 결과에서 특정 N개 추출     예) 성적 상위자 3명 ● TOP-N 행 추출 방법  1. ROWNUM  2. RANK  3. FETCH  4. TOP N(SQL Server) ● ROWNUM  - 출력된 데이터 기준으로 행 번호 부여  - 절대적인 행 번호가 아닌 가상의 번호이므로 특정 행을 지정할 수 없음(=연산 불가)  - 첫번째 행이 증가한 이후 할당되므로 '>' 연산 사용 불가(0은 가능) 예제) ROWNUM 을 출력 형태 예제) ROWNUM 잘못된 사용1☞ 크다 조건 전달 불가 예제) ROWNUM 잘못된 사용 2☞ 항상 불변하는 절대적 번호가 아니므로 '=' 연산자 단독 전달 불가 예제) ROWNUM 올바른 ..
● WINDOW FUNCTION  - 서로 다른 행의 비교나 연산을 위해 만든 함수  - GROUP BY 를 쓰지 않고 그룹 연산 가능  - LAG, LEAD, SUM, AVG, MIN, MAX, COUNT, RANK ** 문법 ** PARTITION BY 절 : 출력할 총 데이터 수 변화 없이 그룹연산 수행할 GROUP BY 컬럼 ** ORDER BY 절  - RANK 의 경우 필수(정렬 컬럼 및 정렬 순서에 따라 순위 변화)  - SUM, AVG, MIN, MAX, COUNT 등은 누적값 출력 시 사용 ** ROWS|RANGE BETWEEN A AND B  - 연산 범위 설정  - ORDER BY 절 필수 ※ PARTITON BY, ORDER BY, ROWS... 절 전달 순서 중요(ORDER BY ..
● 그룹함수  - 숫자함수 중 여러값을 전달하여 하나의 요약값을 출력하는 다중행 함수  - 수학/통계 함수들(기술통계 함수)  - GROUP BY 절에 의해 그룹별 연산 결과를 리턴 함  - 반드시 한 컬럼만 전달  - NULL 은 무시하고 연산 ● COUNT  - 행의 수를 세는 함수  - 대상 컬럼은 * 또는 단 하나의 컬럼만 전달 가능(* 사용시 모든 컬럼의 값이 널일 때만 COUNT 제외)  - 문자, 숫자, 날짜 컬럼 모두 전달 가능  - 행의 수를 세는 경우 NOT NULL 컬럼을 찾아 세는 것이 좋음(PK 컬럼) **문법 예제) 각 컬럼의 COUNT 결과☞ 널을 포함한 컬럼은 전체 행의 수와 다르게 출력됨 ● SUM  - 총 합 출력  - 숫자 컬럼만 전달 가능 예제) 급여의 전체 총 합  ..
● 집합 연산자  - SELECT 문 결과를 하나의 집합으로 간주, 그 집합에 대한 합집합, 교집합, 차집합 연산  - SELECT 문과  SELECT 문 사이에 집합 연산자 정의  - 두 집합의 컬럼이 동일하게 구성되어야 함(각 컬럼의 데이터 타입과 순서 일치 필요)  - 전체 집합의 데이터타입과 컬럼명은 첫번째 집합에 의해 결정됨 ● 합집합  - 두 집합의 총 합(전체) 출력  - UNION  과 UNION ALL 사용 가능 1) UNION  - 중복된 데이터는 한 번만 출력  - 중복된 데이터를 제거하기 위해 내부적으로 정렬 수행  - 중복된 데이터가 없을경우는 UNION 사용 대신 UNION ALL 사용(불필요한 정렬 발생할 수 있으므로) 2) UNION ALL  - 중복된 데이터도 전체 출력 예..