RDB 3

컬럼의 값이 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

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

sql에서의 inner join

개발 진행중 RDB를 사용하고있다면 inner join의 사용빈도가 많은데, 오늘은 inner join을 사용하는 방법에 대해서 제가 아는 만큼 간단히 정리해 보고자 한다. * inner join(내부조인) 이란 ? - 두 테이블간에 공통된 데이터를 이용해 데이터를 조회해오는 방법이라고 생각하면 될거같은데, 정확하게 표현한것인지는 모르겠다. 다른 글들에서는 교집합을 가져온다고 서술되어 있는데, 제 입장에서는 무슨의미인지 잘 와닿지 않는것 같다.. [A테이블] [B테이블] id name age id aid job 1 kim 20 1 1 dev 2 woo 24 2 2 std 위와 같은 테이블이 존재할 때 보통 테이블 설계시 데이터 중복을 최소화 하기 위해 위 예시처럼 설계를 하는 것 같다. 여기서 문제는 a..

SQL 2020.02.04