목록2024/05/01 (5)
개발자 도전기
오늘은 그 동안 공부했던 것들을 정리했습니다! 2024.05.01 - [개발공부/SQL] - [SQL] 집계함수(aggregate function), GROUP BY, HAVING [SQL] 집계함수(aggregate function), GROUP BY, HAVING집계함수란?집계 함수는 값들의 집합을 계산해서 하나의 값을 리턴하는 함수입니다COUNT(*)를 제외하고 NULL 값을 무시합니다SELECT문에서 GROUP BY절과 함께 사용됩니다WHERE절에는 집계함수를 사용할abc-datatype.tistory.com2024.05.01 - [개발공부/Spring] - [SQL] 서브쿼리(Sub query) [SQL] 서브쿼리(Sub query)서브쿼리 하나의 SQL문 안에 있는 포함되어 있는 또 다른 SQ..
Transaction한꺼번에 수행되어야 할 일련의 연산모음을 의미합니다 A가 B에게 계좌이체를 한다면 A의 인출과 B의 입금이 모두 성공하거나, 모두 실패해야 합니다 START TRANSACTION : 트랜잭션을 시작합니다COMMIT : 트랜잭션 내의 모든 작업을 반영합니다ROLLBACK : 트랜잭션 내의 모든 작업을 반영하지 않습니다UPDATE bankSET money = money - 500WHERE name = '강인';UPDATE bankSET money = money + 500WHERE name = '흥민';# Transaction(업무) 시작START TRANSACTION;# 모두 성공(반영)COMMIT;# Transaction(업무) 시작START TRANSACTION;# 모두 실패(반영 x..
Service란?Controller 대신 비즈니스 로직을 처리합니다. 대규모 프로그램일수록 Controller와 Service의 분산 작업이 중요합니다.간단한 프로그램으로 Controller, Service, Mapper의 실행 흐름만 알아보겠습니다 실행 흐름1. Controller가 요청을 분석하고 가공합니다2. Service가 비즈니스 로직을 실행합니다3. Mapper가 데이터 CRUD를 처리하고, 결과값을 DTO에 담아 서비스에 보냅니다4. Service가 DTO를 Controller에 전달합니다5. Controller는 결과값을 모델에 담고 view로 포워딩 합니다 DTO(Data Transfer Object, 데이터 전송 객체)프로세스 간에 데이터를 전달하는 객체를 의미합니다. 사용 예제S..
서브쿼리 하나의 SQL문 안에 있는 포함되어 있는 또 다른 SQL문을 말합니다. 서브쿼리를 포함하고 있는 쿼리를 외부쿼리(outer query)라 부르며 서브쿼리는 내부쿼리(inner query)라고도 부릅니다 1) 단일행 서브쿼리(SingleRow Subquery)쿼리 결과가 하나의 열과 하나의 행만을 리턴하는 서브쿼리입니다주로 연산자를 사용해 값을 비교합니다# 서브쿼리 사용하지 않았을 때SELECT AVG(Price)FROM Products;SELECT *FROM ProductsWHERE Price >= 28.866364;# 서브쿼리로 변환SELECT *FROM ProductsWHERE Price >= (SELECT AVG(Price) FROM Products); 2) 다..
집계함수란?집계 함수는 값들의 집합을 계산해서 하나의 값을 리턴하는 함수입니다COUNT(*)를 제외하고 NULL 값을 무시합니다SELECT문에서 GROUP BY절과 함께 사용됩니다WHERE절에는 집계함수를 사용할 수 없고 GROUP BY 후 HAVING절에 집계함수를 사용해야 한다 1) COUNT특정 열의 갯수를 반환합니다COUNT(*) 로 작성하면 테이블에 존재하는 행의 갯수 반환COUNT(특정 열) : NULL값을 제외한 특정 열의 갯수 반환# NULL을 제외한 EmployeeId의 행 갯수 반환SELECT COUNT(EmployeeId)FROM Employees; 2) MAX, MIN특정 열의 최댓값과 최솟값을 반환합니다-- 가장 어린 사람의 생년월일SELECT MAX(BirthDate)FROM E..