출처 : http://blog.naver.com/nufe2002/110003759100
기본적인 SELECT 문
SELECT 문의 가장 기본은 SELECT/FROM/WHERE이다. 복잡한 문장을 작설할 때도 일단 SELECT/FROM/WHERE를 작성해 놓고 나머지 부분을 채우는 것이 좋다
형식)
SELECT 나열할 컬럼 목록
FROM 가져올 테이블(또는 그 비슷한것)
[WHERE 가져올 행의 조건]
1. SELECT 이후에는 가져올 컬림이나 표현식을 나열하면 된다. 표현식이란 컬럶 그 자체일 수도 있고,
컬럼을 가공 한 것일 수도 있다. 모든 컬럼을 다 가져온다면 *을 사용한다
2. FROM 이후에는 어떤 테이블로부터 데이터를 가져오는지 지시한다
3. WHERE 절 뒤에는 어떤 행을 가져올 것인지를 지시한다. 생략하면 모든 행을 다 가져온다
ex) SELECT * FROM titles
변수
변수를 선언할때는 다른 언어에서 변수를 선언하는 것과 큰 차이가 없다
형식)
DECLARE @ 변수명 자료형
변수 이름은 항상 @하나가 따라와야한다. @을 두개 붙인 변수는 시스템 함수로 사용자가 선언하거나 값을
대입할 수 없다
여러개의 변수를 선언할때는
DECLARE @ 변수명 자료형, @변수명 자료형
과 같은 방법으로 계속 적어주면 된다
변수에 값을 초기화 하거나 입력할 때는
SET @ 변수명 = 값
같이 한다. 그러나 여러개 일때는
SET @ 변수명 = 값
SET @ 변수명 2 = 값
과 같은 식으로 계속 적어주어야 하며, 변수의 값을 가져올때는
SELECT @ 변수명
과 같이 사용한다
ex)
DECLARE @id INT, @name CHAR(10)
SET @id = 0
SET @name = '장경환'
SELECT @id, @name
자료형
정수)
Biglint : 8바이트 정수. -2의 63제곱 부터 2의 63제곱 -1까지의 수
Int : 4바이트 정수. -2의 31제곱 부터 2의 31제곱 -1까지의 수
Smallint : 2바이트 정수. -2의 15제곱 부터 2의 15제곱 -1까지의 수
Tinyint : 1바이트 정수. 0부터 255까지의 수
Bit : 1비트의 Boolean. 0또는1
정확한숫자)
Numeric, decimal : 둘다 같은 동의어. -10의 38제곱 -1 에서 10의 38제곱 -1 까지의 수
부정확한숫자)
float : 부동 소수점 값. -1.79E + 308에서 1.79E + 308까지
real : 부동 소수점 값. -3.40E + 38에서 3.40E + 38까지
날짜)
Datetime : 8바이트의 날짜와 시간. 1753년 1월 1일에서 9999년 12월 31일까지. 밀리 초까지 나타낸다
smalldatetime : 4바이트의 날짜와 시간. 1900년 1월 1일에서 2079년 6월 6일까지. 1분까지 나타낸다
문자)
char, varchar : 8000자 이하의 문자
nchar, nvarchar : 4000자 이하의 유니코드 문자
Text : 8000자가 넘는 문자. 2의 31제곱 -1자까지 저장 가능
NText : 4000자가 넘는 유니코드 문자. 2의 30제곱 -1자까지 저장 가능
이진)
binary, varbinary : 8000 바이트 이하의 이진 값
Image : 8000 바이트가 넘는 그림 등의 바이너리값
화폐)
Money : 8바이트의 화폐
smallmoney : 4바이트의 화폐
특수)
table : 테이블 자체를 변수로 선언할 수 있다
Sql_variant : text, ntext, and iamge data types, timestamp 자료형을 제외한
나머지 모든 자료형을 다 저장 가능하다
Cursor : 커서 이름을 변수로 처리
uniqueidentifier : 전역 유일 구분자
timestamp : 데이터베이스 안에서 유일한 수
자료형 바꾸기
CONVERT() / CAST()
CONVERT()는 자료형을 바꾸는 함수로 다양한 용도로 사용된다.
이 기능은 SQL 서버의 고유 기능이기 때문에 ANSI 호환의 CAST로는 할 수 없다
CONVERT (datatype[(length)], expression [, style])
,style은 날짜 함수에서 사용된다.
'SQL' 카테고리의 다른 글
xp_cmdshell (MS SQL Server 2000) (0) | 2009.08.03 |
---|---|
TABLE 정리 스크립트 (0) | 2009.07.24 |
프로시저에서 DTS Package 실행하기 (0) | 2009.07.23 |
SQL 기초 3 (0) | 2009.06.20 |
SQL 기초 2 (0) | 2009.06.20 |