MSSQL

ALL

MSSQL 서브 쿼리 EXISTS 작성 방법 예제

조건문에 추가로 검색 조건을 추가해야 하는 경우가 있습니다. 단순히 AND 조건이나 OR 조건이 아닌 서브 쿼리를 추가하고 싶은 경우도 있습니다. 서브 쿼리에서 사용하는 방법으로 EXISTS를 사용하기도 합니다. EXISTS는 SELECT 문이나 UPDATE 처리를 할 때 유용하게 사용됩니다. 이번 내용에서는 EXISTS를 사용하여 SELECT 문에서 사용하는 방법을 보도록 하겠습니다. SELECT 조건문에서 EXISTS를 사용하는 방법을 먼저 보겠습니다. 사용 방법을 보기 전에 테스트 테이블과 테이터를 먼저 만들겠습니다. 테이블 ...
ALL

MSSQL IN 다중조건 사용 방법

검색 조건에 같은컬럼에서 여러개 레코드를 취득하고 싶은 경우가 있습니다. 예를 들어 A라는 컬럼에 값이 1,3,4,7 인 레코드를 취득하고 싶은 경우 OR 조건을 사용해서 취득하기도 합니다. OR 조건 예제 SELECT * FROM STUDENT_GRADE WHERE A = 1 OR A = 3 OR A = 4 OR A = 7 OR 조건을 사용해 동일한 컬럼에서 여러 개의 값을 취득할 수 있지만 취득하고 싶은 값이 많아지면 OR 조건과 컬럼 명도 계속해서 나열해줘야 합니다. IN 사용 방법 IN을 사용하면 하나의 컬럼에서 여러개 값을...
ALL

MSSQL Primary Key 컬럼 속성 변경 안될때 해결 방법

작업을 하다 보면 기존 테이블 속성을 ALTER를 사용해 변경할 경우가 있습니다. 자리수를 변경해야 하거나 데이터 타입을 변경해야 하는 등등. 하지만 변경하려는 컬럼이 Primary Key로 지정되어 있는 경우는 변경을 할 수 없습니다. 아래와 같은 에러 메세지가 나옵니다. ALTER TABLE ALTER COLUMN UserNo failed because one or more objects access this column. 변경하려는 컬럼이 Primary Key로 설정되어 경우 변경하는 방법을 알아보겠습니다. Primary Ke...
ALL

MSSQL 컬럼 중간에 추가하는 방법

SQL Server에서 테이블에 컬럼을 추가하는 방법은 ALTER를 사용합니다. ALTER 기본 사용 방법 ALTER TABLE '테이블 이름' ADD '컬럼 이름' '데이터 타입' 'NULL or NOT NULL' ALTER를 사용해 컬럼을 추가하게 되면 마지막 컬럼 뒤에 추가가 됩니다. 추가하고 싶은 위치를 지정해 새로운 컬럼을 추가 할 수 없습니다. 조금 번거롭고 리스크는 있지만 원하는 위치에 새로운 컬럼을 추가하는 방법을 살펴보겠습니다. 컬럼 중간에 새로운 컬럼 추가 샘플 테이블 생성 샘플 테이블을 만들어 컬럼을 추가해보겠습...
ALL

MSSQL 컬럼 추가, 변경, 삭제 ALTER 사용 방법 예제

기존 테이블에 컬럼을 추가하거나 컬럼 속성을 변경하거나 삭제하고 싶은 경우가 있습니다. ALTER를 사용하여 기존 테이블의 컬럼을 추가, 변경, 삭제를 할 수 있습니다. 테스트 테이블 만들기 ALTER를 사용하기 위해 먼저 샘플 테이블을 만들겠습니다. 테스트용 테이블 CREATE TABLE TBL_USER ( UserNo int NOT NULL DEFAULT (0), Name nvarchar(20) NOT NULL DEFAULT (''), Addr nvarchar(50) NOT NULL DEFAULT (''), Tel nvarcha...
ALL

MSSQL CLUSTERED INDEX와 NONCLUSTERED INDEX 차이점

테이블에 인덱스를 생성하거나 추가하는 경우가 많습니다. 인덱스를 추가하는 쿼리는CREATE INDEX ~ON ~을 사용합니다. CREATE INDEX 문으로 추가를 할 때CLUSTERED또는NONCLUSTERED를 설정할 수 있습니다. 어떠한 차이가 있는지 살펴보겠습니다. 클러스터 인덱스와 넌클러스터 인덱스 먼저 두개를 간략하게 비교해보면 CLUSTEREDNONCLUSTERED인덱스테이블당 1개만 가능테이블에 여러개 가능(240개 정도)정렬물리적으로 행을 정렬물리적으로 행을 정렬 안함 클러스터 인덱스는 데이터를 등록할 때 지정한 인...
ALL

MSSQL 테이블 작성 인덱스 생성 하기

SQL Server 테이블에 인덱스(INDEX)를 추가하는 방법을 보겠습니다. 테이블을 만드는 CREATE에 추가해 테이블 생성할 때인덱스를 같이 설정하는 방법과 이미 만들어진 테이블에 인덱스를 추가하는 방법을 보겠습니다. 인덱스 설정 하기 인덱스를 작성하는 쿼리문은CREATE INDEX ~ON ~을 사용합니다. 기존에 생성된 테이블에 인덱스를 추가하는 방법은 아래 쿼리문은 다음과 같습니다. -- 클러스터 인덱스 작성 CREATE CLUSTERED INDEX '인덱스 이름' ON '테이블 이름' ('컬럼 이름'); -- 넌클러스터 ...
ALL

MSSQL RANK와 DENSE_RANK 랭크 함수 차이 예제

SQL Server에서 순위를 설정하는 함수로 RANK가 있습니다. 비슷한 함수로 DENSE_RANK도 있습니다. 두 함수의 사용법은 비슷하지만 결과가 조금 다른 경우가 있습니다. 예제를 통해서 결과가 어떻게 다른지 확인하겠습니다. RANK와 DENSE_RANK 차이 두 함수의 차이를 확인하기 전에 테스트 데이터를 만들겠습니다. 데이터는 앞서 설명한RANK 함수에서 사용한 데이터를 가지고 하겠습니다. 테이블 생성 및 데이터 등록은 RANK 함수의 데이터 등록을 참조해주세요. RANK 사용 예제 -- 학생 성적을 기준으로 순위 취득 ...
ALL

MSSQL ROW_NUMBER로 성적 순위 설정 방법 예제

데이터에 번호를 설정하는 방법으로 ROW_NUMBER를 많이 사용합니다. 순위를 설정하는 방법으로 RANK 함수를 사용할 수도 있지만, ROW_NUMBER를 사용해 순위를 설정할 수도 있습니다. 성적 순서가 높은 순서대로 ROW_NUMBER를 사용해 순위를 설정하는 방법을 보겠습니다. 먼저 테스트 데이블과 데이터를 만들겠습니다. 테스트 데이터 만들기 랭크 예제는 성적 테이블을 만들어 사용하도록 하겠습니다. 데이블 생성 -- 성적 테이블 작성 CREATE TABLE STUDENT_GRADE ( STUDENT_ID int NOT NUL...