목록MSSQL (54)
충분히 쌓여가는
연결 연산자 +로 문자열을 연결하는 방법SELECT symbol + ' : ' + company_name FROM nasdaq_company; CONCAT 함수로 문자열과 문자열 연결하는 방법문자열과 문자열은 연결 연산자 +를 사용해 쉽게 연결할 수 있다함수의 인자로 연결할 문자열을 쉼표로 구분해 나열한다.SELECT CONCAT ('I', 'Love', 'SQL') CONCAT 함수로 열 이름과 문자열 연결SELECT CONCAT (symbol, ' : ' , company_name)FROM nasdaq_company
공통 테이블 식(Common Table Expression, CTE)주로 데이터베이스에 없는 테이블을 필요할 때 사용하며, 바로 다음에 실행할 SELECT 문에만 사용해야 한다는 특징이 있다.공통 테이블 식은 목적에 따라 '일반 공통 테이블 식'과 '재귀 공통 테이블 식'으로 나뉜다. 일반 CTECTE 안에서 UNION 문, UNION ALL 문, INTERSECT 문, EXCEPT 문을 사용해 여러 개의 일반 CTE 쿼리를 결합할 수 있다.일반 CTE는 복잡한 쿼리를 단순하게 만들 때 사용하기 좋다 CTE의 기본 형식WITH [CTE_테이블 이름] (열 이름 1, 열 이름 2, ...)AS( )SELECT [열 이름] FROM [CTE_테이블 이름]; CTE 사용 방법WITH 문을 입력 한 후 CTE..
SELECT 문에 사용하는 서브 쿼리는 반드시 1개의 행을 반환해야 하므로 SUM, COUNT, MIN, MAX 등의 집계 함수와 함께 사용하는 경우가 많다.하지만 성능 문제가 생기기 쉬우므로 SELECT 문에서는 서브 쿼리의 집계 함수와 함께 사용하지 않는 것이 좋다. 스칼라 서브 쿼리(Scalar Subquery)SELECT 문에 사용된 서브 쿼리스칼라 서브 쿼리는 1개 이상 사용할 수 있다 스칼라 서브 쿼리의 기본 형식SELECT [열 이름], (SELECT [열 이름] FROM [테이블 2] WHERE [테이블 2.열] = [테이블 1.열]) as AliasFROM [테이블 1]WHERE [조건] 스칼라 서브 쿼리 사용-- 테이블 조인SELECT a.symbol, a.company_name..
인라인뷰(Inline View) FROM 문에 사용하는 서브 쿼리 결과는 조인할 수 있으므로 쿼리를 논리적으로 격리할 수 있다. FROM 문에 사용하는 서브 쿼리의 기본 형식SELECT [열 이름]FROM [테이블] AS aINNER JOIN (SELECT [열] FROM [테이블] WHERE [열] = [값]) AS b ON [a.열] = [b.열]WHERE [열] = [값]; 인라인뷰에 INNER JOIN을 활용한 서브 쿼리-- 테이블 조인SELECT a.symbol, a.company_name, a.ipo_year, a.sector, a.industry, b.date, b.[open], b.[high], b.[low], b.[close], b.adj_close, b.volumeFROM nasdaq_..