본문 바로가기

백엔드 기술/DataBase

(4)
SQL 문제 #1. Employees 테이블과 Departments 테이블을 조인하여 모든 사원의 이름, 직책, 부서 이름, 부서 위치를 조회하세요. 이때, 사원이 속한 부서가 존재하는 경우에만 결과를 반환해야 합니다. [Employees 테이블] EmployeeId EmployeeName DepartmentId Position 101 Han 1 Leader 102 Lee 2 Team Member 103 David 1 Team Member [Departments 테이블] DepartmentId DepartmentName Location 1 Front 1F 2 Back 2F [정답] SELECT Employees.EmployeeName, Employees.Position, Departments.DepartmentNam..
SQL - JOIN 키워드 키워드 : 테이블 간의 관계를 나타내는 키워드. JOIN 키워드를 사용하면 여러 테이블에서 관련 정보를 더 분석 및 조합 할 수 있다. 특히 관계형 데이터베이스에서 중요한 부분인데, 이는 데이터가 여러 테이블에 분산되어 있고, 각 테이블이 서로 다른 방식으로 연관되어 있기 때문이다. SQL의 JOIN 명령은 이러한 관계를 사용하여 데이터에 대한 복잡한 질의를 수행할 수 있다. 1. LEFT JOIN 왼쪽 테이블(기준_테이블)의 모든 행과 오른쪽 테이블(대상_테이블)의 일치하는 행을 반환한다. 일치하는 행이 없는 경우, 왼쪽 테이블의 결과 집합에는 NULL 값이 포함되어 반환된다. SELECT 결과에 포함될 컬럼 FROM 데이터를 가져올 테이블(기준_테이블) LEFT JOIN 데..
QueryDSL 애플리케이션을 구현하다보면 사용자의 요구사항에 맞추어 DB에서 조건에 맞는 데이터를 가져오는 ORM은 여러가지가 있다. 내가 사용했던 대표적인 ORM에는 2가지가 있다. 1. JPA - Spring Data JPA 2. JPA - JPQL 하지만 위의 두가지 기술에는 데이터를 가져오는 조건을 모두 포함시키는 메서드 이름 컨벤션을 작성해서 사용하든, 직접 쿼리문으로 해당 조건들을 모두 기입하든, 개발자가 필터링 조건들을 모두 사전에 셋팅을 해야한다는 단점이 있다. 내가 진행했던 사이드 프로젝트에는 다음과 같은 요구사항이 있었다. A. 도서 제목 검색 B. 도서관 이름 검색 C. 도서관에 보관중인 도서 검색 D. 도서관에 등록된 회원 검색 E. 특정 태그를 가진 도서 검색 F. 연체 기록이 있는 회원 검색 ..
데이터베이스 - SQL, NoSQL, DB 설계 관계형 데이터베이스 데이터를 테이블에 직관적으로 간단하게 나타내는 관계형 모델을 기반으로 한다. 테이블의 각 행은 KEY라는 고유 ID가 포함된 레코드 입니다. 테이블의 각 열에는 데이터의 속성이 들어가 있으며, 각 레코드에는 일반적으로 각 속성에 대한 값이 있으므로, 데이터 포인트 간의 관계를 손쉽게 설정할 수 있다. [데이터베이스의 필요성] [데이터를 In-Memory에 저장할 경우] PC를 끄면 데이터가 사라짐. [데이터를 File I/O 할 경우] 원하는 데이터만 가져올 수 없고, 모든 데이터를 호출한 뒤 서버에서 필터링 해야함. [DataBase의 경우] 필터링 외에도 File I/O 으로 구현이 힘든 데이터 관리를 위한 여러 기능들을 가지고 있는 데이터에 특화된 서버. [데이터베이스] 데이터베..