MySQL(50)
-
[SQL] 임시 테이블 생성 - WITH
기존에 원하는 결과 테이블을 얻기 위해 'SUBQUERY(하위 쿼리)' 를 자주 사용하였는데, 하위 쿼리를 여러 개 사용하다보면 쿼리 작성이 복잡해지는 경우를 겪었고 이 문제를 해결하기 위해 'WITH' 을 사용하게 되었다. WITH 은 'Commont Table Expressions(CTE, 공통 테이블 표현식)' 이라고도 말하는 함수이다. 'CTE' 는 단일 문의 범위 내에 존재하며, 해당 단일 문 안에서 여러 번 참조 가능한 '임시 결과 집합(임시 테이블, 가상 테이블)' 이라 한다. 1. 기본 문법// 임시 테이블(= 가상 테이블)WITH 임시테이블명1 AS ( SELECT 컬럼명... FROM 테이블명), 임시테이블명2 AS ( SELECT 컬럼명... FROM 테이블명)/..
2024.09.11 -
[SQL] 그룹별 데이터 합치기 - GROUP_CONCAT
데이터를 한 문자열로 합칠 때 CONCAT 을 사용해 만들 수 있었다. 이번에는 그룹별 컬럼이 가지고 있는 데이터를 하나로 합치는 GROUP_CONCAT 에 대해서 알아보자. 1. 기본 문법SELECT 그룹할 컬럼명, GROUP_CONCAT(지정컬럼명 SEPARATOR 구분자) 별명FROM 테이블명GROUP BY 그룹할 컬럼명 일단 해당 함수를 사용하려면 GROUP BY 절을 사용해 데이터를 그룹화 해야한다. 그렇기에 기본 문법에 GROUP BY 절을 추가해 두었다. 기능은 기존 CONCAT 과 같지만 GROUP_CONCAT 은 집계 함수라는 점이 다르다. 그룹화 된 컬럼의 데이터들을 합쳐 한 문자열 데이터(LONGTEXT)로 출력하는 기능을 가지고 있다. SEPARATOR 의 경우 원하는 구분자가 ..
2024.08.30