db

이전 게시글에서 이어진다. 처음에 forEach로 비동기 처리를 했어서 뭔지 생각을 하다가 이전 게시글을 적게되었고, 이전 게시글의 정보를 통해 DB에 접근하는 시간을 줄이고자, map와 Promise.all을 사용해서 해결하려고 했다. static async createProfile(profileData: ProfileCreateData) { const profile = await ProfileDAO.createProfile(profileData); //프로필을 생성함 const promises = profileData.hashTags.map((hashTag) => HashTagService.add(hashTag, profile.id) ); //프로필 등록 await Promise.all(promise..
·Backend/Database
하나의 쿼리에서 SELECT문 안에 또 다른 SELECT문이 있는 경우, 안에 포함된 SELECT문을 서브쿼리라고 한다. 서브쿼리의 유형 메인 쿼리의 어느부분에 위치하는가에 따라 구분하기도 하고 메인쿼리와의 연관성에 따라 구분하기도 합니다. 스칼라 서브쿼리 SELECT 절에 있는 서브쿼리 파생 테이블 FROM 절에 있는 서브쿼리 WHERE 절의 서브쿼리 메인쿼리와 서브쿼리의 연관성에 따라 다음 두가지로 분류 1. 연관성 있는 서브쿼리 : 메인쿼리와 서브쿼리를 조인하는 경우 2. 연관성 없는 서브쿼리 : 메인쿼리와 서브쿼리를 조인하지 않는 경우 스칼라 서브쿼리 단일 칼럼이 와야하며, 여러 개의 칼럼을 기술 할 수 없다. 또한, 단일 건(로우)를 반환해야 하고, 여러 로우를 반환하면 오류가 발생한다. 그래서..
·Backend/Database
SELECT는 DML중 가장 자주 사용하는 명령어로, DB에서 필요한 값을 추출하는 명령어이다. 구문은 SELECT [원하는 속성들] FROM [어떤 테이블] WHERE [조건] ORDER BY [어떤 속성으로 정렬할 것인지] [ASC/DESC : 오름차/내림차] LIMIT [몇개]; 이런식으로 구성된다. 원하는 속성들이 여러 테이블에 있는 경우 테이블명.속성명으로 사용한다. 이제 프로그래머스 SQL 문제를 풀어보자. ANIMAL_INS는 동물에 대한 정보다. 이렇게 되어 있을 때 필요한 정보를 SELECT을 통해 뽑아보자. 1. 모든 정보를 ANIMAL_ID 순으로 조회한다. 따라서 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; 2. 별거 없다. 이름이랑 보호시작일(D..
_0422
'db' 태그의 글 목록