database
-
[SQL] WHERE과 HAVING의 차이database 2023. 4. 14. 17:22
WHERE과 HAVING 모두 조건을 설정한다는 특징에서 같다. 하지만, WHERE은 데이터들 중 조건에 맞는 행을 가져오면 반면 HAVING은 그룹화된 데이터들 중 조건에 맞는 특정 그룹을 가져온다. 예를 들어, 아래와 같은 orders 테이블이 존재할 때. order_id customer_id order_date total_amount 1 1 2022-01-01 100 2 2 2022-01-02 200 3 1 2022-01-03 150 4 3 2022-01-04 50 5 1 2022-01-05 80 WHERE 문 SELECT * FROM orders WHERE total_amount > 100; 결과 order_id customer_id order_date total_amount 2 2 2022-01..
-
[SQL] DISTINCT와 GROUP BY 차이database 2023. 4. 14. 16:47
DISTINCT와 GROUP BY는 둘 다 SELECT 쿼리에서 중복된 값을 제거하는 데 사용된다. 그러나 그들 간에는 중요한 차이점이 있다. DISTINCT는 SELECT 쿼리 결과에서 중복된 값을 제거하는 데 사용된다. 즉, 결과 집합에서 중복된 값을 제거하여 반환하는 것이다. 반면에 GROUP BY는 열 값을 그룹화하고 집계 함수 (SUM, AVG, COUNT 등)를 사용하여 그룹화된 결과를 반환하는 데 사용된다. 즉, 결과 집합을 그룹화하고 그룹화된 데이터의 집계 값을 계산하는 것이다. 아직 잘 이해가 되지 않는다. 예시 코드와 결과를 보면 쉽게 이해가 가능하다. 아래는 MySQL에서 DISTINCT와 GROUP BY를 사용하는 간단한 예시 코드이다. 예를 들어, 다음과 같은 "customers"..
-
h2 databasedatabase 2023. 1. 30. 13:54
데이터베이스 없이 웹어플리케이션을 만들게 되면 메모리 상에 데이터가 저장되기 때문에 서버를 재시작하면 데이터가 소실되어버린다. 여러 데이터베이스가 존재하지만 테스트용으로 사용하기 좋은 h2 database를 사용한다. //application.yml spring: h2: console: enabled: true path: /h2-console application.yml 파일에 위 명령어를 입력하고 어플리케이션을 재시작하면 콘솔에 H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:15e8f5cf-ff6c-4501-8539-5e4ec3a2a12a' 라는 결과가 출력된다. 여기서 ‘jdbc:h2:mem:…’으로 출력된 부분은 ..
-
릴레이션(테이블)와 entity 차이database 2023. 1. 30. 13:52
릴레이션(테이블)와 entity 차이 릴레이션은 주로 테이블과 같은 의미로 사용되며, 데이터의 집합을 의미한다. 릴레이션은 구글에 검색하면 “해시넷”에 자세하게 설명되어 있어 자세한 설명은 생략한다. 여기 서술하는 이유는 엔티티와 릴레이션의 차이점을 기록하기 위함이다. entity는 데이터베이스 상에 실제로 존재하지 않는다. entity는 실제로 존재하지 않는 일종의 개념이다. 그러나 테이블(릴레이션)은 실제로 존재하며 물리적인 구조를 갖고 있다. 도메인 : 릴레이션에 속성에 포함될 수 있는 값들의 집합. package com.sungsu.domain; import lombok.AccessLevel; import lombok.Builder; import lombok.Data; import lombok.N..