TSQL = SQL Server에서 사용되는 SQL 언어인 Transact-SQL(DML DDL DCL)

    1. T-SQL Elements :

    ▣ 주석(Comments)

    /*으로 시작하여 */으로 막아서 주석임을 표기

    각 라인마다 --표기를 하여야만 합니다.

    ▣ 문자열(Literals)

    문자열은 앞으로 조건을 사용할 때 마니 사용하게 되는 것입니다.

    SELECT구문은 고객정보라는 테이블에서 고객번호, 주민번호, 전화번호1, 전화번호2, 메모 등을 반환합니다.

    문자열의 예 #1

     

    문자열은 작은 따옴표(')로 묶어 주여야만 합니다.

    그럼 따옴표를 포함하고 있는 문자열은 어떻게 표현해야 할까요?

    이런 경우에는 두 개의 작은 따옴표를 써서 SQL Server 이를 문자열의 끝이 아님을 알려주어야 합니다.

    문자열의 예 #2

    숫자형은 작은 따옴표나 다른 기호로 묶을 필요없이 그냥 숫자형만을 기입하면 됩니다.

    ▣ 식별자(Identifiers)

    식별자를 지정하기 위해서는 다음의 규칙을 반드시 지켜야 합니다.

    식별자는 128자 이상을 넘을 수 없습니다.

    또한 식별자는 첫 글자가 반드시 문자, _(밑줄), @, #으로 시작하여야 합니다. 반드시 공백이 들어가서는 안됩니다.

    만약 첫 글자가 @로 시작된다면, 이는 지역변수임을 뜻함니다. 또한 #으로 시작하는 것은 임시 테이블이나 임시 프로시져를 뜻하는 것입니다. 또한 유일해야한다.

    Sql server가미리 설정해둔 keyword Blanket([])이나 큰 따옴표로 묶어서 만 표현가능

    ▣ 키워드(Keywords)

    SQL Server에서 미리 정의하여 놓은 식별자

    • Quoted_Identifier ON
    • 키워드를 Blanket으로 묶어준다

    Keyword의 식별자 사용

     

    ▣ 연산자(Operators)

    T-SQL의 연산자는 문자열 연결, 산술연산자, 비교, Bitwise연산 등의 4가지 종류


    문자열의 연결

    산술연산자 + - * /

    비교연산자 > < => =< = <> != !< !>

    WHERE절, HAVING절, IF문에서 사용됩니다.

    Bitwise 연산자는 int, smallint, tinyint형의 데이터 형식에서만 사용이 가능

    integer형 값을 1과 0으로만 처리합니다. Bitwise 연산자는 다음의 4가지 종류

    ~( Bitwise NOT)는 의미 그대로 반대의 성격을 지닙니다.

    • ~0 = 1 을 의미하며,
    • ~1 = 0을 의미합니다.

    | (Bitwise OR)는 어느 한 쪽이 1값을 가지고 있다면 1의 값을 반환합니다.

    1 | 1 = 1

    1 | 0 = 1

    0 | 1 = 1

    0 | 0 = 0

    & (Bitwise AND)는 양쪽 모두 1인 값을 가지고 있어야만 1의 값을 반환합니다.

    1 & 1 = 1

    1 & 0 = 0

    0 & 1 = 0

    0 & 0 = 0

    ^ (Bitwise Excluisive OR)는 두 개의 변수가 서로 다른 값을 가지고 있는 경우에만 1의 값을 반환합니다.

    1 ^ 1 = 0

    1 ^ 0 = 1

    0 ^ 1 = 1

    0 ^ 0 = 0

     

     

    1. Control of Flows

    Control of Flows는 말 그대로 SQL 문장들이 실행되는 흐름을 제어하는 언어를 말합니다. Control of Flows는 다음

    키워드들로 구성되어있습니다.

    IF~ELSE

    조건의 결과에 따라서 흐름을 결정하는 문장

    BEGIN ~ END

    SQL문장의 블록을 설정

    WHILE

    조건이 TRUE 인 경우에만 그 아래의 코드블럭을 반복적으로 수행

    BREAK

    WHILE문의 블록을 벗어나는 문장

    CONTINUE

    WHILE문의 블록을 재시작

    DECLARE

    변수 또는 CURSOR의 선언

    RETURN

    Procedure를 벗어남

    WAITFOR

    SQL문장의 실행을 명시한 시간까지 지연하는 문장

    PRINT

    메시지를 반환문장

    RAISEERROR

    에러와 에러메시지를 반환문장

    CASE

    조건에 맞는 값을 반환하는 문장

    GOTO

    지정된 레이블로 이동하는 문장

     

    IF ~ ELSE의 예제

     

    BEGIN ~ END 예제 구문

    IF 다음 줄에 여러 줄의 문장을 수행하기 위해서는 BEGIN ~ END로 묶어주어야 합니다.

     

    WHILE문의 예제

     

    DECLARE의 사용

    DECLARE문은 변수를 선언하거나 CURSOR를 선언할 때 사용합니다.

    위의 지역변수는 임대정보로부터 가장 큰 금액을 지역변수에 넣은 다음 출력하는 예입니다.

     

    WAITFOR의 사용 예

    WAITFOR구문 다음에 DELAY구문이 오게 되면 지정된 시간만큼 대기를 했다가 해당 시간이 흐르고 난 다음 그 다음 라인의 문장을 수행하게 됩니다.

    TIME이 오는 경우에는 TIME 다음에 기술된 시간까지 대기한 다음에 해당 시간이 되면 그 다음 라인의 SQL구문을 수행하게 됩니다.

     

     

     

     

     

     

     

     

     


'RDBMS(mysql,mssql)' 카테고리의 다른 글

[MSSQL] 6.Table  (0) 2018.08.01
[MSSQL] 5.Database 구성요소  (0) 2018.07.30
[MSSQL] 3.SQL Server  (0) 2018.07.28
[MSSQL] 2.Data Modeling  (0) 2018.07.27
[MSSQL] 1.Database System  (0) 2018.07.27

+ Recent posts