Database 4

컬럼의 값이 null경우 치환 하는방법

오늘은 내가 잊어버리지 않도록 간단하게 sql에서 컬럼의 값이 null인 경우 값을 치환하는 방법을 정리하려고 한다. 만약 7월한달의 매출총액을 구하는 쿼리를 작성하려면 다음과 같이 작성하게 될 것이다. select sum(amount) from sales where salesDate between '2020-07-01' and '2020-07-31' group by salesDate; 그런데 여기서 문제가 발생한다, 문제 상황은 7월 10일에 sales라는 테이블에 부가세(tax)라는 컬럼이 추가 되게 되었고 그 컬럼의 기본값은 0이 아닌 null로 설정이 되있다. 그리고 이제부터는 부가세가 포함된 금액을 쿼리로 작성해야 한다면 다음과 같이 작성하게 된다. select sum(amount + tax) ..

SQL 2020.07.24

JPA의 엔티티에서의 카운팅(@Formula)

JPA를 이용해 개발하다보면 모호한 부분이 많은 것 같은데 대표적인게 JPA, Hibernate, Spring JPA인 것 같다. 여기서 정리 할 내용은 아니지만 간단히 설명하면 JPA는 기술명세, Hibernate는 인터페이스, Spring JPA는 Hibernate를 스프링 프레임워크에서 쉽게 사용할 수 있게 모듈화? 해놓은 것이라는데 이게 무슨소린지 아직도 좀 어렵다. 이 이야기를 하는 이유는 오늘 설명한 @Formula는 Hibernate의 기능이기 때문이다. 현재 내가 개발하면서 @Formula를 사용하는 경우는 조건절로 사용하거나, 집계된 데이터가 필요할 때 사용하고 있는데, 이외의 경우에도 사용할 수 있는지는 파악해보고 있다. 먼저 @Formula에 대해서 간단한 설명을 하자면, 데이터베이스..

SPRING FRAMEWORK 2020.05.03

Sql 집계함수(SUM, AVG, MAX, MIN, COUNT)

JPA를 이용해 개발하다보면 몇가지 애로사항이 있는데, 그 중하나가 SQL의 집계함수를 사용할 떄 인 것 같다. 물론 @Formula라는 어노테이션을 이용해 어느정도는 해결할 수는 있다. (@Formula는 나중에 따로 정리 할 예정) 이번 포스팅하는 글에서는 sql 집계함수를 어떻게 사용하는지 간단하게 정리만 해보고자 한다. 먼저 SUM, AVG, MAX, MIN, COUNT 함수들은 엑셀의 함수들과 같은 기능을한다. (합산, 평균, 최대값, 최소값, 개수) 사용방법은 다음과 같이 쿼리문을 작성해주면 된다. 1 2 3 4 -- members 테이블에는 slary라는 급여값을 필드가 존재한다. -- select 함수명(필드) from 테이블명 select sum(slary) '합계', avg(slary)..

SQL 2020.04.21

DML, DDL, DCL 정리

정보처리기사 시험을 준비하면서 외웠던 내용들인데, 자꾸 까먹게 되어서 간단하게 정리를 해보고자 한다. ※ 컬럼(Column)과 필드(Field)는 같은의미로 사용된다. [DML] 먼저 DML(Data Manipulation Language)은 데이터 조작어를 의미한다, DML에 해당하는 명령어는 SELECT(조회), INSERT(삽입), UPDATE(수정), DELETE(삭제)등이있다, 개발필드에서는 CRUD라고도 표현하는 것 같다. DDL의 각 명령어를 작성하는 기본 틀은 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 -- select문 SELECT* FROM [table_name]; -- insert문 INSERT INTO [table_name](column_name) VALUE..

DATABASE 2020.03.06