Backend
-
having vs where 차이점Backend/DB 2022. 10. 4. 16:44
SQL 문제를 풀다가 where절로 행 필터링 했을 때는 틀렸지만, having절로 풀었을 때 정답이 나와서 다음의 차이를 정리해보고자 한다. 문제 : https://lulu-developmentlog.tistory.com/85?category=1070019 1084. Sales Analysis III mysql https://leetcode.com/problems/sales-analysis-iii/ Sales Analysis III - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared f.. lulu-developmentlog.t..
-
left join, right join, inner join, full outer join, self join, cross joinBackend/DB 2022. 9. 30. 15:43
1. Left join 조인문의 왼쪽 테이블의 모든결과를 가져온 후 오른쪽 데이터 매칭 매칭되는 데이터가 없는 경우 Null 2. Right join 조인문의 오른쪽 테이블의 모든 결과를 가져온 후 왼쪽테이블의 데이터를 매칭하고, 매칭되는 데이터가 없는 경우 Null 3. Inner join (교집합) 두 테이블 모두에 기준 필드의 값이 있는 레코드만 가져온다. 4. Full Outer join (합집합) 기준 필드의 값과 매치되는 레코드가 어느 한 쪽 테이블에라도 있으면 해당 레코드를 해당 테이블에서 가져온다. **단 mysql에서는 지원되지 않음 ㅠㅠ union을 조합해야함.
-
MySQL Table 생성 및 컬럼 추가 예제Backend/DB 2022. 9. 26. 15:15
1. Table 생성 CREATE TABLE `essay_user` ( `USER_ID` varchar(100) NOT NULL, `USER_PW` varchar(1000) NOT NULL, `SALT` varchar(1000) NOT NULL, PRIMARY KEY (`USER_ID`) ) 2. Table의 컬럼 추가 ALTER TABLE essay_user ADD COLUMN GRADE VARCHAR(1000) not null, ADD COLUMN REGION VARCHAR(1000), ADD COLUMN SCHOOL VARCHAR(1000), ADD COLUMN PROFILE VARCHAR(1000), ADD COLUMN USER_PW_Q VARCHAR(1000), ADD COLUMN USER_PW..
-
[JPA] 영속성 컨텍스트 기본 개념Backend/Springboot 2022. 9. 16. 16:45
1. 영속성 컨텍스트 정의 일종의 메모리 저장소이며 엔티티 타입과 식별자를 키로 사용하는 객체의 집합을 의미 엔티티 매니저(EM)는 커밋 시점에 영속성 컨텍스트에서 관리하고 있던 영속 객체의 변경 내역을 추적하여 DB에 반영 2. 엔티티 매니저와 영속성 컨텍스트 엔티티 매니저를 생성할 때 하나의 영속성 컨텍스트가 생성 엔티티 매니저는 동일한 식별자를 갖는 엔티티를 2번 조회하게 되면 - 첫 번째는 쿼리가 실행됨 - 두 번째는 쿼리가 실행되지 않고 캐시에 저장되어있는 영속 객체를 영속성 컨텍스트에서 가져옴 3. 엔티티 매니저 DB에 엑세스 하기 위해 사용되는 객체 엔티티 매니저를 통해 DB에 데이터를 CRUD 작업을 수행 3-1. 엔티티 매니저 종류 애플리케이션에서 관리하는 엔티티 매니저 애플리케이션에서 ..
-
[JPA] NativeQuery를 POJO로 mapping하기Backend/Springboot 2022. 9. 16. 13:41
JPA Repository에 있는 데이터를 직접 정의한 class에 바로 담기 위해 고군분투를 해보았다. 실제로 Entity 형식이 아닌 다른 형식으로 데이터를 바로 담고 싶을 때가 있었다. 즉 NativeQuery를 활용해 SQL로 가공 및 처리하여 필요한 정보만을 추출해 서버단에서는 가공된 데이터만을 받아서 클라이언트에게 전달하는 역할만 하는 것이 더 효율적이라고 판단했기 때문이다. NativeQuery로 작성한 쿼리를 직접 정의한 class(POJO or DTO)로 불러오기 다음과 같은 에러가 떴다. ConverterNotFoundException org.springframework.core.convert.ConverterNotFoundException: No converter found capab..