loading
반응형

DBMS 35

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란? - (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(1)

컴퓨터에서 String은 문자열을 의미합니다.SQL문에서 사용하는 문자열 함수에 알아보겠습니다. 그 전에 데이터타입에 관련해서 표를 보겠습니다.밑의 표는 SQL에 사용하는 DataType에 관련된 표입니다. 보통 SQL에서 문자열은 nverchar, nchar, varchar로 나타냅니다.에... SQL에서 사용하는 문자열이 어떤 것이 있는지 보여주는 표입니다.설명이 엄청나게 길고, 다 외우려니 혼돈에 빠집니다.그냥 이런게 있구나하고 넘어가줍시다.여기서 자주사용되는 것이라면 NUMERIC, VARCHAR정도가 있겠습니다. 그리고 밑의 표는 SQL에서 사용되고 있는 String 함수들입니다.1. 2.이러한 함수들을 사용됩니다.여기서 빨간색으로 된 것은 자주 사용되는 함수들을 의미한다.빨간색 이외에는 이런 ..

SQL문 실습 - ORDER BY

이번 글에서는 SQL문의 정렬을 할 때 사용하는 ORDER BY구문에 대해서 알아보겠다. ORDER BY란? - SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특 정 칼럼을 기준으로 정렬하여 출력하는데 사용합니다.- COLUMN 명 대신 SELECT 에서 사용한 ALIAS 나 칼럼 순서를 나타내는 정수도 가능합니다- 기본적으로 오름차순 정렬을 합니다- ORACLE은 NULL 값을 가장 큰 값으로 SQL Server은 최소값으로 간주합니다.- DESC를 사용할 경우 내림차순 정렬, 기본적으로 오름차순 정렬을 하지만 ASC를 사용할 경우 오름차순 정렬을 합니다 예제)1. ORDER BY를 사용해서 Customers 테이블의 CustomerID를 내림차순으로 정렬하였습니다.12345678-- * Asc..

반응형