이번 포스팅에서는 SQLD 자격증 공부를 진행하다가 오라클에서 제공하는 문법인 MERGE INTO 구문 사용 방법에 대해 알아보려고 합니다. MERGE ? MERGE 문은 조건에 따라 데이터의 삽입, 갱신, 삭제 작업을 한번에 할 수 있게 해주는 문입니다. 해당 행이 존재하는 경우 UPDATE or DELETE 문을 수행하고, 새로운 행인 경우 INSERT 문을 수행합니다. 대상 테이블에 대한 UPDATE/INSERT 조건은 ON 절에 결정 됩니다. [ MERGE SYNTAX ] MERGE [hint] INTO [schema]{table|view}[t_alias] USING{[schema]{table|view} | subquery}[t_alias] ON (condition) WHEN MATCHED THE..
' SQL 자격검정 실전문제 ' (일명 노랭이책)을 풀어가며 핵심 개념을 정리한 글입니다. 🔍 1 - 1 데이터 모델링의 이해 데이터 모델링이 필요한 이유 업무 정보를 구성하는 기초가 되는 정보들에 대해 일정한 표기법에 의해 표현 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용 데이터모델링 자체로서 업무의 흐름을 설명하고 분석하는 부분에 의미를 가지고 있다. 데이터 모델링의 특징 추상화 : 현실을 일정한 형식에 맞춰 간략하게 표현 단순화 : 누구나 이해하기 쉽도록 표현 명확화 : 애매모호함을 배제하고 명확하게 한 가지 의미를 갖도록 표현 데이터 모델링의 유의점 중복 : 여러 장소에 같은 정보 저장 X 비유연성 : 데이터 정의, 데이터 사용 프로세스 분리 데이터 혹은 프로세스..
이번 포스팅에서는 SQLD를 준비하던 중 그룹 함수에 대해 공부하고 정리하고자 합니다. 그룹 함수 그룹함수를 통해 소계/중계/합계/총합계를 구할 수 있다. 하나의 SQL로 테이블을 한번만 읽어서 빠르게 원하는 리포트를 작성할 수 있다. ex) 매출에 대한 리포트를 작성해야 하는 경우 개발자는 그룹 함수를 이용해 쉽게 작성할 수 있습니다. 그룹 함수의 종류 ROLLUP Subtotal을 생성하게 위해 사용합니다. 그룹핑 컬럼의 수가 N일때, N+1 Level의 Subtotal이 생성됩니다. 계층 구조이기 때문에 순서가 바뀌면 수행 결과도 바뀌게 되기 때문에 순서에 주의해야 합니다. ROLLUP(A,B) != ROLLUP(B,A) CUBE 다차원적인 소계를 계산합니다. 결합 가능한 모든 값에 대해 다차원 집..
기존에 우리는 Spring Framework에서 의존성 주입(DI)을 하게 될 때 생성자가 하나라면, @Autowired를 생략해도 된다고 공부했었습니다. JUnit으로 @SpringBootTest 테스트 코드를 작성할 때 같은 방식으로 하면 다음과 같은 에러가 발생합니다. org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [nathan.test.repository.MemberRepository memberRepository] in constructor [public nathan.test.MemberRepositoryTest(nathan.test.repositor..