SQL 쿼리문을 작성할 때 사용되는 WHERE, GROUP BY, ORDER BY 절과 같은 구문을 실행하는데 순서가 존재합니다. 이 순서에 의해서 쿼리가 처리되고 어떻게 쿼리문을 작성하느냐에 따라 성능 차이가 발생할 수 있으며 쿼리 실행 시 최종적으로는 결과만 확인할 수 있기 때문에 좀 더 정확한 쿼리 작성을 위해 실행 작동 순서에 대해서 간단히 알아보겠습니다. 문법 작성 순서 1. SELECT 컬럼명 2. FROM 테이블명 3. WHERE 4. GROUP BY 5. HAVING 6. ORDER BY 실행 작동 순서 1. FROM : 조회 테이블 확인 SELECT부터 처리할 것 같지만, 쿼리의 가장 첫 번째 실행 순서는 FROM 절입니다. FROM 절에서는 테이블의 모든 데이터를 가져옵니다. 2. WH..
집계함수 집계함수는 말그대로 어떤 데이터를 집계하는 함수들을 의미합니다. 예를 들어 어떤 팀에 속한 사원의 수, 어떤 팀의 연봉합계, 어떤 팀의 나이의 평균 등 집계성 정보를 반환하는 함수들을 의미합니다. 또한 집계 함수는 다대일 함수이며, 많은 행의 정보를 입력으로 사용하여 모든 행을 요약하는 단일 값으로 축소합니다. COUNT 테이블에 존재하는 데이터 갯수를 가져오고 싶을 때 사용하는 함수입니다. 전체 행의 갯수를 가져올 때는 null 값도 포함하여 계산하지만, 특정 컬럼의 갯수를 가져올 때는 null 값은 제외되어 계산됩니다. 전체 행 갯수 가져오기 SELECT COUNT(*) FROM 테이블; 컬럼 데이터 갯수 가져오기 SELECT COUNT(컬럼) FROM 테이블; SUM 테이블에 존재하는 컬럼..
스프링부트 프로젝트 생성 시 무심코 사용했던 Spring Initializr에 대해서 알아보도록 하겠습니다. Spring Initializr Spring Initializr는 https://start.spring.io/ 에서 사용 가능하며, 스프링부트 기반으로 스프링 관련 프로젝트를 쉽게 만들 수 있습니다. [ Project ] 프로그램을 만들다 보면 단순히 자신이 작성한 코드만으로 개발하는 것이 아니라 많은 라이브러리들을 활용해서 개발하게 됩니다. 이때 사용되는 라이브러리들의 수가 수십 개가 넘어가다 보면 관리하는데 어려움이 있습니다. 이런 문제점들을 해결해주기 위한 도구라고 이해하면 되겠습니다. 과거에는 Maven을 많이 사용했지만 최근에는 Gradle을 사용하는 추세임으로 다른 이유가 없다면 Gra..
공부를 하다보면 모르는 것이 생기기 마련입니다. 그럴때 우리는 다른분들에게 질문을 통해 도움을 구하곤 하는데요. 그런데 질문에도 잘 하는 방법이 있습니다. 이번글은 내 질문에는 왜 답변이 달리지 않을까? 개발자가 질문하는 방법 이라는 주제로 코드스쿼드 호눅스님의 질문 잘 하는 법 영상을 보고 정리한 글입니다. [ 질문을 하기 전에 해야 할 것들 ] 5 Why 원칙에 따라 생각해보기(도대체 왜 이런 문제가 생겼을까? 생각해보기) 해결이 될 법한 다른 방법을 세 가지 시도해보고 추후에 질문할 때 시도했던 내용들을 포함한다. 만약 해결이 되었다면 겪었던 문제와 해결 방법을 공유해서 같은 문제를 겪을 분들에게 도움이 되자. 대 부분 위의 과정에서 50% 해결이 되지만, 해결하지 못했다면? [ 검색을 해보자 ] ..