loading
반응형

프로그래밍/MS-SQL 46

SQL문 실습 - GROUP BY (1)

이번에는 MSSQL에서 많이 사용되는 구문 중 하나인 GROUP BY에 대해서 설명하겠습니다.GROUP BY란?- 동일한 값을 가진 데이터의 수치를 집계하기 위한 문장입니다.- GROUP BY는 중복된 행을 제거한다.(표면상으로는 DISTINCT와 동일하지만, DISTINCT와 더 많은 일들을 할 수 있습니다.- 기본 구문1234SELECT 컬럼1, 컬럼2, 집계함수(컬럼3) FROM 테이블 WHERE 컬럼1 = @변수GROUP BY 컬럼1, 컬럼2cs- GROUP BY에 명시된 컬럼들만이 SELECT절에 집계 함수 없이 사용 할 수 있습니다. - GROUP BY에서 자주 사용되는 집계함수들입니다.만약 GROUP BY 없이 집계 함수를 사용하면 전체 데이터에 대해 집계를 수행합니다. - HAVING절GR..

SQL문 실습 - CONVERT

이전 글에서는 Date함수에 대해서 알아봤습니다.이전 글 : SQL문 실습 - Date Function(2) 이번에는 CONVERT에 대해서 알아보겠습니다. CONVERT는 자바와 C# 등 에서 캐스팅과 같은 역할을 한다고 생각하면 됩니다.사용방법은 CONVERT(데이터타입, 컬럼명, 형식)으로 이루어집니다.보통 CONVERT를 쓸 때는 CONVERT(데이터타입, 컬럼명) 이렇게 쓰면 됩니다. 하지만 바꾸려면 컬럼명의 데이터타입이 날짜라면 뒤에 형식을 적어줘서 깔금하게 데이터가 출력되게 해야합니다.형식에 따라 날짜 데이터가 어떻게 출력되는지 알아보겠습니다.출처 : http://blog.naver.com/passion97/220414328096 보통 CONVERT에서 이런 형식들을 사용해서 날짜데이터를 변..

SQL문 실습 - Date Function(2)

이전 글에서는 Data Function의 DATEADD까지 알아봤습니다.이전 글 : SQL문 실습 - Date Function(1)오늘은 이어서 다른 Date 함수에 대해서 알아보겠습니다. - DATEDIFF를 이용해서 두 날짜간의 날짜차이를 계산할 수 있습니다.123-- How many day between '2006-02-01' and '2006-02-10'?------------------------------------------------------------------------------SELECT DATEDIFF(DAY, '2006-02-01', '2006-02-10')cs - DATEDIFF를 이용해서 두 날짜간 몇개월 차이인지 계산 할 수 있습니다.123-- How many month ..

CURSOR 실습 - (3)

이전 글에 이어서 CURSOR를 응용해서 실습한 내용입니다.CURSOR를 사용해서 이런식으로 데이터들을 표현할 수가 있습니다.123456789101112131415DECLARE @APP_DATE NVARCHAR(8), @SIGN_TYPE NVARCHAR(10)DECLARE test_cursor CURSOR FOR SELECT APP_DATE, SIGN_TYPEFROM #KimTableOPEN test_cursorFETCH NEXT FROM test_cursor INTO @APP_DATE, @SIGN_TYPEPRINT '----- CURSOR 시작-----'WHILE @@FETCH_STATUS = 0BEGINPRINT ' APP_DATE || SIGN_TYPE'PRINT ' [' + @APP_DATE + ..

CURSOR 실습 - (2)

이전글에 이어서 CURSOR를 실습한 내용입니다.밑의 내용은 커서에 대해서 간단하게 설명한 내용입니다.123456DECLARE test_cursor [INSENSITIVE] [SCROLL]CURSOR FOR SELECT * FROM temptablesOPEN test_cursorFETCH NEXT FROM test_cursorCLOSE test_cursorDEALLOCATE test_cursorcs----------------------------------------------------------------설명+ DECLARE test_cursor CURSOR FOR SELECT * FROM temptables--> DECLARE으로 CURSOR를 선언하는 부분입니다.여기서 FOR 구문 뒤에 CURS..

CURSOR란? - (1)

- 데이터베이스의 커서란?일련의 데이터에 순차적으로 액세스할 때 검색 및 “현재 위치”를 포함하는 데이터 요소입니다.- 개요일반적으로 데이터베이스는 같은 종류의 데이터를 많이 축적하고 있으며, 이용자가 요청하는 데이터는 1건 또는 여러 건이 될 수 있다. 이런 경우는 커서를 사용하여 다음과 같이 반복자의 요령으로 실현할 수 있습니다. 1. 이용자는 검색 및 정렬 순서를 지정하여 커서를 정의합니다. 2. 매개 변수를 사용하는 경우 값을 결정하고 데이터 액세스를 시작합니다. 3. 커서 위치의 데이터를 검색합니다. 검색 결과의 끝이라면 7에. 4. 필요에 따라 커서 위치의 데이터를 변경, 삭제합니다. 5. 커서를 “다음 데이터”로 진행합니다. 6. 3 반복 7. 반복 종료 후 커서를 풀어 놓습니다.시스템에 따..

Temp Table이란?

Temp Table이란?임시 테이블이란 뜻으로 말 그대로 임시적으로 만들어지는 Table로서 특징에 따라 지역임시 Table과 전역임시 Table 두 가지로 나눌 수 있다.예제)-- 지역임시 테이블을 생성합니다.123456CREATE TABLE #KimTable(APP_DATE VARCHAR(8) ,SIGN_TYPE VARCHAR(10) NULL,SIGN_CODE VARCHAR(10) NULL,DTS_UPDATE DATETIME)Colored by Color Scriptercs-- INSERT INTO - SELECT를 사용해서 데이터를 삽입해줍니다.123456INSERT INTO #KimTable SELECT APP_DATE, SIGN_TYPE, SIGN_CODE, DTS_UPDATE FROM dbo...

SQL문 실습 - Date Function(1)

이번에는 시간과 관련된 함수인 Date Function에 대해서 알아보겠습니다.Date Function은 실제로도 많이 사용하니 알아두는게 좋습니다. Date Function에는 대표적으로 밑의 함수들이 있습니다.또한 날짜를 표기하는 단축명에 대해서도 알아놓는게 좋습니다.날짜를 표기하는 단축명은 굳이 MS-SQL이 아니더라도 다른 프로그래밍 툴에서도 많이 겹치는 부분이 있으니 꼭 알아둡시다. 그리고 그 외 지금까지 배운 함수들을 제외한 나머지 함수들에는 이런 것들이 있다.이중에서 CONVERT는 꼭 알아둡시다. 본격적으로 실습을 해보겠다. 1. DATEADD함수를 통해서 더한 날짜의 값을 구할 수가 있다.123-- Add 300 days in 2006-01-01------------------------..

SQL문 실습 - numeric function

Numeric Function은 숫자에 관련된 함수이다.(보통 데이터타입이 숫자인 것을 선언한느 경우 MS-SQL에서는 Numeric으로 많이 선언합니다.)Numeric 함수로는 밑의 표와 같이 이런 함수들이 있다. 어떨 때 쓰는지 Numeric Function과 관련된 예제 한개를 풀어보겠습니다.1. Round(컬럼명, 반올림할 자릿수)를 통해서 소수점 반올림을 할 수가 있습니다.12345678-- Select round of 3.19214-- First digit round -> 3.0000-- Second digit round -> 3.20000-- Thrid digit round -> 3.19000--------------------------------------------------------..

SQL문 실습 - String Function(2)

이전 글에서는 String Function에 대해서 알아봤습니다.(???)이어서 String Function에 대해서 실습을 해보겠습니다. 1. LEFT(컬럼명, 표현할 숫자)를 통해서 왼쪽의 글자만 출력하게 할 수 있습니다.RIGHT를 사용할 경우 오른쪽의 글자만 나타나게 할 수 있습니다.123456-- Search Customers-- Only CustomerID, ContactName, Address column-- and CustomerID is only 4 letters from left------------------------------------------------------------------------------SELECT LEFT(CustomerID, 4) CustomerID, C..

반응형