반응형

MSSQL 133

MSSQL SQL 문장의 종류

느낌으로 산다는 건 | 도깨비 http://blog.naver.com/juny177/110003330572 ### DDL (Data Definetion Language) >> 데이터를 정의 하는 문장 , DB, Table 에 관한 구조 정의 (CREATE, ALTER, DROP ... ) ### DML (Data Manepution Language) >> 데이터를 변경하거나 가져오거나 처리 하거나 조작하는 문장, Column, Row 작업 (SELECT, INSERT, DELETE, UPDATE) ### DCL (Data Control Language) >> 데이터를 보완하는 문장 , 사용자 관리 명령 (GRANT, ROVOKE, DENY ... ) ==============================..

WorkaHolic/MSSQL 2010.02.25

MSSQL 로우를 컬럼으로

[문제] [DATA 1]을 [DATA 2]로 변경 [DATA 1] 날짜 구분 명 20080904 가입 3 20080904 구매 2 20080905 가입 548 20080906 가입 955 20080907 가입 1080 20080908 가입 852 20080909 가입 327 20080910 가입 111 [DATA 2] 날짜 가입 구매 20080904 3 2 20080905 548 0 20080906 955 0 20080907 1080 0 20080908 852 0 20080909 327 0 20080910 111 0 [풀이] SELECT * FROM ( SELECT YYYYMMDD ,CASE PRODUCT_NAME WHEN '무료회원가입' THEN 'REG' ELSE 'SALE' END AS NAME ,..

WorkaHolic/MSSQL 2010.02.25

MSSQL INNER JOIN, OUTER JOIN

INNER JOIN : - 두개의 집합 (A, B) 의 교집합 이라고 이해하시면 됩니다. A {1,2,3} , B {2,3,4 } 이면 {2,3} 이 교집합입니다 모두의 값에 있는 행들만 포함시키고 그렇지 않는 행들은 제외 시킵니다. OUTER JOIN - OUTER JOIN 에는 LEFT , RIGHT, FULL OUTER JOIN 등의 세가지 형식이 있습니다. 두 테이블에서 지정된 쪽인 LEFT 또는 RIGHT 쪽의 모든 결과를 보여준후 반대쪽에 매칭되는 값이 없어도 보여주는 JOIN 입니다. JOIN 이전에 나오는 테이블이 왼쪽(LEFT)테이블이 되고, JOIN 이후에 나오는 테이블은 오른쪽(RIGHT)테이블이 됩니다. 예를 보겠습니다.. ^^* -----------------------------..

WorkaHolic/MSSQL 2010.02.25

MSSQL APPLY 연산자에는 CROSS APPLY와 OUTER APPLY의 두 형태

APPLY 연산자를 사용하면 쿼리의 외부 테이블 식에서 반환한 각 행에 대해 테이블 값 함수를 호출할 수 있습니다. 테이블 값 함수는 오른쪽 입력이 되고 외부 테이블 식은 왼쪽 입력이 됩니다. 오른쪽 입력은 왼쪽 입력의 각 행에 대해 평가된 후 생성된 행이 조합되어 최종 출력에 표시됩니다. APPLY 연산자가 생성하는 열 목록은 왼쪽 입력의 열 목록 뒤에 오른쪽 입력에서 반환한 열 목록을 추가한 것입니다. APPLY 연산자에는 CROSS APPLY와 OUTER APPLY의 두 형태가 있습니다. CROSS APPLY는 테이블 값 함수로부터 결과 집합을 생성하는 외부 테이블의 행만 반환합니다. OUTER APPLY는 결과 집합을 생성하는 행과 그렇지 않은 행을 모두 반환하고, 테이블 값 함수에 의해 생성된 ..

WorkaHolic/MSSQL 2010.02.25

MSSQL 컬럼과 구분자 연결하여 Select 하기

쿼리를 하다보면 컬럼을 구분자에 연결하여 컬럼1;컬럼2;컬럼3 같은 결과를 Select 할 경우가 있습니다. MSSQL2000에서는 변수에 그 값을 넣어서 처리하였지만 MSSQL2005 에서 for xml 문을 써서 변수 없이 처리가 가능 합니다. 다음 쿼리는 둘다 똑같은 결과를 반환합니다. 참고하세요. use pubs go -- MSSQL2000 방식 declare @names varchar(8000) select top 10 @names = coalesce(@names,'') + name + ';' from sysobjects where xtype = 'U' order by name select @names as names names -------------------------------------..

WorkaHolic/MSSQL 2010.02.25

MSSQL REPLICATE 및 DATALENGTH 사용

다음 예에서는 숫자 데이터 형식을 문자 또는 유니코드로 변환할 때 지정한 길이까지 0으로 왼쪽을 채웁니다. CREATE TABLE t1 ( c1 varchar(3), c2 char(3) ) GO INSERT INTO t1 VALUES ('2', '2') INSERT INTO t1 VALUES ('37', '37') INSERT INTO t1 VALUES ('597', '597') GO SELECT REPLICATE('0', 3 - DATALENGTH(c1)) + c1 AS 'Varchar Column', REPLICATE('0', 3 - DATALENGTH(c2)) + c2 AS 'Char Column' FROM t1 GO Varchar Column Char Column ------------------..

WorkaHolic/MSSQL 2010.02.25

MSSQL 함수 정리

[MSSQL 함수 정리] 환경은 MSSQL2005입니다 ※ 문자열 함수 정리 1) Ascii() - 문자열의 제일 왼쪽 문자의 아스키 코드 값을 반환(Integer) 예) SELECT Ascii('abcd') >> 결과는 a의 아스키 코드값인 97 반환 2) Char() - 정수 아스키 코드를 문자로 반환(Char) 예) SELECT Char(97) >> 결과는 a 반환 3) Charindex() - 문자열에서 지정한 식의 위치를 반환 예) SELECT Charindex('b','abcde') >> 결과 : 2 SELECT Charindex('b','abcde',2) >> 결과 : 2 SELECT Charindex('b','abcde',3) >> 결과 : 0 -- 인수값이 3개일때 마지막은 abcde 에..

WorkaHolic/MSSQL 2010.02.25

MSSQL 2005 IDENTITY 값 초기화

Identity값은 처음으로 돌아가지 않고 계속 증가된 값으로 입력이 된다 그럴 경우에 identity 값을 변경하려면 DBCC CHECKIDENT('테이블이름',RESEED,초기값) 명령을 입력하면 된다 예를 들어 buyTBL 의 num 컬럼을 재설정하고 싶다면 우선 현재의 ID값을 확인한다 use tableDB DBCC CHECKIDENT('buyTBL') 데이터를 처음부터 다시 입력할 경우에는 ID 값을 0으로 설정하면 다음 입력 값은 1이 될 것이다 DBCC CHECKIDENT('buyTBL',RESEED,0) ======================================================================================= #1 기본 사용법 사용예) cr..

WorkaHolic/MSSQL 2010.02.25
반응형