CategorySQL (4)

[SQL] UPDATE문에서의 FROM, 별칭 사용

Update에 From을 써서 별칭 사용하기기본적인 것이지만 갑자기 가물가물 함에 한번 정리해 봅니다.최근에 관련 쿼리를 짜는데 업데이트에 별칭을 어떻게 쓰더라..? 하고 멍해있었습니다.또 까먹기 전에 바로 정리를 해봅니다.UPDATE TEMP_USET IsDelete = 'True'FROM tblUser AS TEMP_UWHERE CreateDate >= '2015-01-01'tblUser라는 테이블의 별칭을 TEMP_U로 주고 Update문에서 별칭으로 지정해서 업데이트를 할 수 있습니다.좀더 응용해서 아래와 같이 사용 할 수도 있습니다.UPDATE TEMP_USET IsDelete = 'True'FROM tblUser AS TEMP_U, tblUserCategory AS TEMP_UCWHERE TE..

[MSSQL] 테이블 복사

테이블 복사테이블 생성, 데이터 복사SELECT * INTO NEW_TABLE FROM OLD_TABLE 테이블 구조 복사SELECT * INTO NEW_TABLE FROM OLD_TABLE WHERE 1 = 2 데이터만 복사INSERT INTO TEMP_TABLE SELECT * FROM OLD_TABLE WHERE 검색조건 위 예제의 경우 원본 테이블과 대상 테이블의 구조가 같아야 합니다.만약 구조가 다를 경우 직접 컬럼 값을 지정해주시면 됩니다.INSERT INTO TEMP_TABLE ( column1, column2, ... ) SELECT col1, col2, ... FROM OLD_TABLE 참고MS-SQL 테이블 복사 - IberisStackOverflow

[MSSQL] 저장 프로시저(Stored Procedure) 내용 검색하기

저장 프로시저 내용 검색하기가끔 저장 프로시저 이름이 안떠오르거나 다수의 SP의 내용을 일괄적으로 바꾸거나 할 필요가 있을 경우가 있습니다. 저장 프로시저를 일일이 열어봐서 찾으려고 하니 숨이 턱막힙니다.그럴 때 유용한 저장프로시저 내용 검색쿼리를 소개합니다.잘못된 방식SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%찾을 내용%' AND ROUTINE_TYPE='PROCEDURE' …포스트 작성하기 전까지는 위 쿼리를 사용했었습니다만 찾다보니 문제를 발견하였습니다.ROUTINE_DEFINITION이 nvarchar(4000)으로 문자열을 변환하여 내려주기 때문에 매우 긴 내용의 경우 검색에 문제가 있다고 합니다.다음 스크..

[MSSQL] JOIN의 방식 - Nested loop Join / Merge Join / Hash Join

Join의 방식에 관하여Join의 종류는 5가지가 있습니다.INNER JoinOUTER JoinCROSS JoinFULL OUTER JoinSELF JoinJoin의 방식은 3가지가 있습니다.Nested Loop Join - 중첩반복Merge Join - 정렬병합Hash Join - 해시매치Join의 종류는 논리적 Join이라고 합니다.Join의 방식은 물리적 Join이라고 합니다.이 포스트에서는 JOIN의 방식에 대해서 알아보겠습니다.중첩반복(Nested Loops) 조인바깥 테이블의 처리 범위를 하나씩 액세스하면서 그 추출된 값으로 안쪽 테이블을 조인하는 방식순차적으로 처리된다.바깥 테이블과 일치하는 값을 안쪽 테이블에서 찾아야 하므로 안쪽 테이블의 해당 열에 인덱스가 필요하다.메모리 사용량은 가장 ..