반응형 SQL16 [SQL] 14. SQL 레코드 순서 응용3 (예제 - 테이블에 존재하지 않는 시퀀스 찾기) [SQL 레코드 순서 응용3] 레코드 안의 순번을 활용하는 예제 - 테이블에 존재하지 않는 시퀀스 찾기 지난 포스팅에서는 레코드의 순번을 활용하여 중앙값(Median)을 구해보았다. 이번 포스팅에서는 순번을 활용하여 특정 기준을 통해 테이블을 분할하는 실습을 해보려 한다. 2. 순번을 사용한 테이블 분할 - 단절 구간 찾기 - 집합 지향적 방법 : 집합의 경계선 사용 실습을 하기 위해 Numbers 테이블을 아래와 같이 생성했다. 테이블의 num 필드를 보면, 중간중간에 비어있는 숫자가 있음을 볼 수 있다. Numbers 테이블을 이용하여 일련의 비어 있는 숫자를 출력하는 쿼리는 아래와 같다. 위의 쿼리를 쉽게 이해하기 위해서 FROM 구에서 만들어지는 테이블(INNER JOIN된 테이블)을 불러와보았다.. 2019. 7. 21. [SQL] 13. SQL 레코드 순서 응용2 (예제 - 레코드 순번 활용 : 중앙값 구하기) [SQL 레코드 순서 응용2] - 레코드 안의 순번을 활용하는 예제 앞 포스팅에서는 레코드 안의 순번을 매기는 예제를 설명하였다. 이번 포스팅에서는 테이블에 만들어진 순번을 활용하는 다양한 예제를 실습해볼것이다. 1. 중앙값(Median) 구하기 숫자를 크기에 따라 정렬하고 양끝에서부터 수를 세는 경우 중앙에 오는 값을 뜻한다. 여기서 중요한 점은 평균(Mean/Average)과의 차이인데, 평균은 이상점(Outlier)에 영향을 받기 때문에 이상한(너무 크거나 작은) 데이터가 들어오면 대표성을 잃게된다. 하지만 중앙값은 그 영향을 받지 않아 데이터들의 대표적인 지표로서 훌륭한 역할을 해낸다고 볼 수 있다. 실은, Oracle10g 버전 이후부터 아래처럼 중앙값을 쉽게 .. 2019. 7. 21. [SQL] 12. SQL 레코드 순서 응용1 (예제 - 레코드에 순번 붙이기) [SQL 레코드 순서 응용1] - 레코드 안에 순번을 매기는 예제 이번 포스팅부터는 이제까지 배운 SQL의 기초 함수를 활용한 다양한 예제 풀이를 통해 응용된 쿼리를 익혀보도록 하겠다. 우선 순서 조작의 기초 쿼리를 이해하며, 아래의 4가지 과정을 통해 레코드에 순번을 붙이는 방법을 살펴보려 한다. 1. 기본 키가 한 개의 필드일 경우 2. 기본 키가 여러 개의 필드일 경우 3. 그룹마다 순번을 붙이는 경우 4. SEQ 필드에 순번 갱신하기 1. 기본 키가 한 개의 필드일 경우 기본 키가 한 개의 필드일 경우 순번(seq)를 매기는 예시를 살펴보려한다. 예시를 위해 아래의 Weights 테이블을 생성하였다. - WINDOW 함수 활용 ROW_NUMBER 함수를 사용할 수 있는 환경(Mysql은 지원하지 .. 2019. 7. 20. [SQL] 10. SQL에서의 반복 (응용 - 재귀 쿼리) SQL에서의 '반복'(반복문X) - 재귀 쿼리(Recursive Union) 앞선 포스팅에 이어 SQL에서의 반복에 관한 세번째 예시를 소개하려 한다. 이번 예시에서는 재귀 쿼리(Recursive Union)라는 여태까지의 SELECT 구문과는 색다른 구문이 등장한다. [ Example 3 - 우편번호 이력 테이블 ] 이사 이력이 있는 사람들의 우편번호 기록이 적재되어 있는 PostalHistory 테이블을 생성하였다. new_pcode는 name에 해당하는 사람이 이사한 곳의 우편번호를 뜻하며, pcode는 과거 거주한 집의 우편번호를 뜻한다. 만일 new_pcode의 값이 NULL이라면, pcode가 name에 해당하는 사람의 최종 거주지 우편번호인 셈이다. - 포인터 체인 & 인접 리스트 모델 위의.. 2019. 7. 18. 이전 1 2 3 4 다음 반응형