본문 바로가기

분류 전체보기

(222)
728x90
반응형

MS SQL。커서(Cursor) 테이블에서 여러개의 행을 조회(SELECT)한 후 그 결과를 한 행씩 처리하는 방식 -- 변수 선언 DECLARE @[변수명1] [데이터 타입] @[변수명2] [데이터 타입] -- 커서 선언 DECLARE [커서명] CURSOR FOR SELECT [필드 리스트] FROM [테이블명] -- 커서 오픈 OPEN [커서명] -- SELECT한 값을 변수(@[변수명1], @[변수명2])에 저장 FETCH NEXT FROM [커서명] INTO @[변수명1], @[변수명2] -- @@FETCH_STATUS 이상이 없는 경우 0, 실패했거나 행이 결과 집합의 범위를 벗어난 경우 -1, 행(Row) 없는 경우 -2 WHILE @@FETCH_STATUS = 0 BEGIN -- SELECT한 데이터로 수행할 작업 -- ..
MS SQL。반복문(While) -- 변수 선언 DECLARE @[변수명] [데이터 타입] -- 반복문 WHILE [조건] BEGIN [생성 쿼리] END @dCNT 값이 10 미만인 경우 계속 반복 [Database/MS SQL] - MS SQL。커서(Cursor)
MS SQL。조건문(CASE) CASE WHEN [조건] THEN [조건이 참인 경우 값] ELSE [조건이 거짓인 경우 값] END
MS SQL。조건문(IF - ELSE) IF [조건] BEGIN -- 그룹 시작(흐름 제어 언어 키워드) [쿼리1] [쿼리2] END -- 그룹 종료 ELSE IF [조건] [쿼리] ELSE [쿼리] 예시 테이블 조건문 예시
MS SQL。임시 테이블(WITH) CTE(Common Table Expression), 임시로 이름을 지정하여 테이블 생성 WITH [임시테이블명] AS ( [생성 쿼리] ) SELECT * FROM [임시테이블명] 조인으로 임시 테이블 생성 후 조회 동일한 조인 쿼리로 UNION ALL한 임시 테이블 생성 후 조회
MS SQL。변수 선언(DECLARE) # 변수 선언 DECLARE @[변수명] [데이터 타입] # 변수에 값 대입 1. 일반 값 대입 SET @[변수] = [값] 2. 조회된 값 대입(단일 레코드만 대입 가능) SELECT TOP 1 @[변수] = [필드] FROM [테이블명] # 변수 조회 SELECT @[변수명] # 테이블 형식으로 선언 DECLARE @[변수명] AS TABLE ( [필드1] [데이터 타입] ... [필드n] [데이터 타입] )
MS SQL。조인(JOIN) 여러개의 테이블을 연결하여 하나의 테이블로 사용 1. INNER JOIN 교집합(A ∩ B)과 동일, 서로 일치하는 데이터 출력 SELECT * FROM [테이블명] A INNER JOIN [테이블명] B ON A.[필드] = B.[필드] 2. LEFT JOIN(= LEFT OUTER JOIN) 차집합(A - B)과 동일, 기준 테이블에 JOIN된 테이블과 조건이 맞는 기준 테이블의 데이터 출력 SELECT * FROM [테이블명] A LEFT [OUTER] JOIN [테이블명] B ON A.[필드] = B.[필드] -- C를 제외한 데이터 출력 SELECT * FROM [테이블명] A LEFT [OUTER] JOIN [테이블명] B ON A.[필드] = B.[필드] WHERE B.[필드] IS NULL..
MS SQL。집합 연산자(EXCEPT) 차집합(A - B), 테이블 A에서 테이블 B와 일치하는 데이터를 제외한 테이블 A의 데이터 출력 SELECT [필드1], [필드2], ..., [필드n] FROM [테이블명1] EXCEPT SELECT [필드1], [필드2], ..., [필드n] FROM [테이블명2] [Database/Theory] - Database。관계대수(Relational Algebra) - 집합 연산 [Database/MS SQL] - MS SQL。집합 연산자(UNION, UNION ALL) [Database/MS SQL] - MS SQL。집합 연산자(INTERSECT)
728x90
반응형