숫자 데이터를 보다 깔끔하게 표현하기 위해 소수점을 통일해야 하는 일이 있습니다.그때 소수점을 반올림(ROUND)이나 버림(TRUNCATE)을 사용하여 처리할 수 있습니다. 반올림 - ROUND반올림할 자리를 지정하지 않으면 소수 첫번째 자리에서 반올림되어서 정수로 출력됩니다.SELECT ROUND(1234.567) AS NUM;-- 1235SELECT ROUND(1234.567, 1) AS NUM;-- 1234.6SELECT ROUND(1234.567, 2) AS NUM;-- 1234.57 버림 - TRUNCATE버림은 지정한 소수점 자리의 이하 자릿수를 자르기 때문에 자릿수를 꼭 명시해야 합니다.SELECT ROUND(1234.567, 1) AS NUM;-- 1234.5SELECT ROUND(123..
Database

장점 관리 및 유지보수 용이 @Entity 클래스에 쿼리에 필요한 테이블 컬럼을 작성하여 실행하면 테이블을 생성 및 업데이트할 수 있다. SQL문을 직접적으로 작성하지 않고 객체를 바탕으로 데이터베이스를 동작시키므로 유지보수가 간결하다. 생산성 향상 JPA를 사용하게 되면 기본적으로 제공되는 CRUD 관련 쿼리들이 있어, 자주 쓰이는 쿼리를 직접 작성하지 않아도 되며, 생성한 객체를 바탕으로 데이터베이스를 다루기 때문에 객체 중심으로 개발할 수 있다. RDBMS 종류에 독립적 MySQL, Oracle, PostgreSQL과 같이 서로 다른 데이터베이스를 사용하려고 할 때 쿼리 문법이 달라도 JPA 문법으로 통합하여 사용할 수 있다. 객체 중심으로 동작하기 때문이다. 단점 복잡한 쿼리문 작성 어려움 JPA..

Java에서 ORM 없이 데이터베이스에게 실행할 쿼리를 전달할 때 Statement 또는 PreparedStatement를 사용해 본 적이 있을 것이다. 비슷한 이름의 두 객체가 어떤 차이가 있는지, 어떨 때 쓰는 것이 적합한지를 알고 쿼리를 효율적으로 실행시켜 보자. 쿼리 수행 방식 데이터베이스가 하나의 Statement를 받을 때 데이터베이스 엔진은 먼저 parse와 문법 검사를 진행한다. 그 후 Statement를 수행하기 위한 가장 효율적인 방법을 탐색한다. 탐색 과정에서 어떤 인덱스를 사용할지, 모든 row를 탐색할 것인지 등을 결정하여 쿼리 플랜을 세우게 되는데, 이 계산하는 과정에서 비용이 많이 들게 된다. 쿼리 플랜이 세워지면 데이터베이스는 그에 따라 쿼리를 실행한다. 차이 Statemen..