
SQLD: PIVOT & UNPIVOT, 정규표현식
PIVOT절과 UNPIVOT절 PIVOT : 행에 있는 데이터를 열로 바꾸기 SELECT * FROM ( SELECT 년월, 지점코드, 매출액 -- 사용하려는 컬럼만 명시 FROM 월별매출 ) PIVOT ( -- 행을 열로 바꾸려는 컬럼과 값을 입력 SUM(매출액) FOR 년월 IN ('202201' AS '20...
PIVOT절과 UNPIVOT절 PIVOT : 행에 있는 데이터를 열로 바꾸기 SELECT * FROM ( SELECT 년월, 지점코드, 매출액 -- 사용하려는 컬럼만 명시 FROM 월별매출 ) PIVOT ( -- 행을 열로 바꾸려는 컬럼과 값을 입력 SUM(매출액) FOR 년월 IN ('202201' AS '20...
TOP-N ROWNUM ROWNUM은 테이블의 행에 임시로 부여되는 일련번호이다. SELECT ROWNUM AS RN --가상컬럼 : 실제 테이블에 존재하지는 않지만 특수한 기능을 가진 컬럼 , 직원ID , 이름 , 연봉 , 부서ID FROM 직원; WHERE 조건에 ROWNUM을 사용하면 출력되는 행의 개수...
집합 연산자 집합연산자란, 여러 SQL결과를 연결하여 하나의 형태로 결합하는 문법이다. 위의 이미지를 아래와 같이 SQL로 변경할 수 있다. 다음의 테이블 A와 B가 있다고 생각해보자: 이에 대해 UNION 연산자와 UNION ALL 연산자를 사용해보겠다. SELECT COL1 FROM A UNION SELECT COL1 FROM...
SQLD 활용 SQLD의 2과목의 SQLD활용의 세부과목으로는 다음이 있다: 서브쿼리 집합연산자 그룹함수 윈도우함수 TOP-N 쿼리 계층형 질의와 셀프 조인 PIVOT절과 UNPIVOT절 정규표현식 서브쿼리 서브쿼리란 작성된 쿼리 내부에 다른 쿼리를 삽입하여, 보다 다양하게 데이터를 출력하는 방법을 의미한다. ...
JOIN FROM 뒤에 테이블을 두 개 이상 입력할 수 있다. 테이블을 두 개 이상 입력하게 되면 튜플(행)의 개수는 (테이블A의 개수 * 테이블B의 개수)로 곱으로 나오고, 컬럼(열)의 개수는 (테이블A의 개수 + 테이블B의 개수)인 합으로 나온다. 테이블이 두 개 이상이라면 테이블을 명시해서 컬럼을 입력해야 한다. SELECT TB_CUST...
GROUP BY, HAVING 절 GROUP BY 문법을 이용하면 집계를 구할 수 있다. 여기서 집계라 함은 합계를 구한다거나, 개수, 최대값, 평균값 등 보다 의미 있는 정보를 구하는 것을 일컫는다. SELECT 소속반, COUNT(*) AS 반별인원수 FROM 수강생정보 GROUP BY 소속반; GROUP BY는 특정 컬럼을 기준...
함수 함수는 입력 값을 넣어 특정한 기능을 통해 결과 값을 출력해준다. 함수가 어떻게 만들어져 있는지는 알 필요가 없으며, 입력 개수, 출력 개수, 그리고 기능만 알면 된다. 내장형 함수 내장형 함수란 DBNS에 미리 만들어져 있어 사용이 가능한 함수이다. 문자형 함수: UPPER, SUBSTR, TRIM, REPLACE … 숫자형 함수: ...
MVC 패턴
아키텍처란? 아키텍처가 무엇인지에 대한 감이 꽤나 오랜 기간 잡히지 않았다. 누군가가 디렉토리 구조를 아키텍처라고 칭하는 것을 보기도 했고, 또 어디서는 설계 원칙이라고 하는 것을 보기도 했다. 정의는 아래와 같다고 한다. the fundametal organization of a system, embodied in its component...
아키텍처 아키텍처 패턴으로는 MVC를 채택하기로 했으며, 유지보수성을 고려하여 DRY와 KISS를 원칙들을 항시 고려하며 개발할 예정이다. 이러한 패턴과 원칙들이 있다는 것을 지난 프로젝트 할 때는 알지 못했기 떄문에 이번에는 가장 널리 사용되는 것들을 적용할 것이다. 여기에 추가적으로, 클린 아키텍처와 같은 다른 구조도 시간이 나면 별도로 공부를...