SQL Server 2019 / Query / IN, NOT IN

예제로 사용한 데이터베이스는 AdventureWorks2017입니다.

IN

다음은 Person.Person 테이블에서 FirstName, MiddleName, LastName을 10개 추출하는 쿼리입니다.

SELECT TOP(10) FirstName, MiddleName, LastName
FROM Person.Person

만약 FirstName이 Syed 또는 Sam 또는 John인 사람을 추출하고 싶다면 아래처럼 쿼리합니다.

SELECT TOP(10) FirstName, MiddleName, LastName
FROM Person.Person
WHERE FirstName IN ( 'Syed', 'Sam', 'John' )

물론 아래와 같이 해도 됩니다.

SELECT TOP(10) FirstName, MiddleName, LastName
FROM Person.Person
WHERE
  FirstName = 'Syed' OR
  FirstName = 'Sam' OR
  FirstName = 'John'

NOT IN

만약 FirstName이 Syed, Sam, John이 아닌 사람을 추출하고 싶다면 아래처럼 쿼리합니다.

SELECT TOP(10) FirstName, MiddleName, LastName
FROM Person.Person
WHERE FirstName NOT IN ( 'Syed', 'Sam', 'John' )

다음과 같이 해도 됩니다.

SELECT TOP(10) FirstName, MiddleName, LastName
FROM Person.Person
WHERE
  FirstName != 'Syed' AND
  FirstName != 'Sam' AND
  FirstName != 'John'

Related Posts

SQL Server 2019 / 데이터베이스 / 만들기, 삭제하기

SQL Server 2019 / 데이터베이스 / 만들기, 삭제하기

데이터베이스 만들기 SSMS에서 만들기 를 클릭한다. 데이터베이스 이름을 정하고 을 클릭하면... 데이터베이스가 만들어진다. 쿼리로 만들기 Shop이라는 이름의 데이터베이스를 만든다. CREATE DATABASE Shop; 데이터베이스 이름에 띄어쓰기나 특수문자가 있다면 큰 따옴표로 감싼다. CREATE DATABASE "SHOP SHOP"; CREATE DATABASE "SHOP.SHOP"; 데이터베이스 삭제하기 SSMS에서 만들기 삭제하려는 데이터베이스를 선택하고 마우스 우클릭 후 를 클릭한다. 을 클릭하면 데이터베이스가 삭제된다. 쿼리로 삭제하기 Shop이라는 이름의 데이터베이스를 삭제한다. CREATE DATABASE ...

SQL Server 2019 / 메모

SQL Server 2019 / 메모

1433 이외의 포트로 접속하는 방법 SQL Server 기본 포트는 1433이다. 기본 포트일 때는 IP나 도메인만으로 접속가능한데, 포트를 바꾸었다면 명시해주어야 한다. 예를 들어 IP가 123.123.123.123, 포트가 12345로라면... 123.123.123.123,12345 특이하게 :가 아니라 ,를 쓴다. 보안 주체 "dbo"이(가) 없거나 이 유형의 보안 주체를 가장할 수 없거나 사용 권한이 없기 때문에 데이터베이스 보안 주체로 실행할 수 없습니다. (Microsoft ...

SQL Server 2019 / 데이터베이스 저장 위치 변경하는 방법

SQL Server 2019 / 데이터베이스 저장 위치 변경하는 방법

데이터베이스 기본 저장 위치 변경 데이터베이스를 만들거나 복원할 때 기본적으로 저장되는 위치는 SQL Server를 설치할 때 정합니다. 그 위치를 변경하고 싶다면 다음과 같이 합니다. 서버를 선택하고 마우스 우클릭 후 을 클릭합니다. 왼쪽 메뉴에서 을 클릭합니다. 를 원하는 위치로 변경하고... 을 클릭합니다. 서버를 재부팅하거나, 서비스에서 SQL Server를 다시 시작해야 반영됩니다. 데이터베이스 만들 때 저장 위치 ...

SQL Server 2019 / 관리 / 스케줄에 따라 자동 백업하는 방법

SQL Server 2019 / 관리 / 스케줄에 따라 자동 백업하는 방법

데이터베이스는 주기적으로 백업을 해야 합니다. SQL Server의 유지 관리 계획을 이용하면, 백업 되풀이 작업을 만들어 일정 주기마다 자동으로 백업하게 할 수 있습니다. SSMS로 자동 백업을 만드는 방법을 알아보겠습니다. 을 선택합니다. 마우스 우클릭하고 를 클릭합니다. 을 클릭합니다. 이름을 적절히 정하고 을 클릭합니다. 를 선택하고 ...

SQL Server 2019 / 메모 / Query

SQL Server 2019 / 메모 / Query

최근 날짜 가져오기 Name으로 그룹화한 후 최근 날짜를 가져온다. SELECT Name, MAX( Date ) FROM Table1 GROUP BY Name 최근 날짜가 2020년인 것만 가져온다. SELECT Name, MAX( Date ) FROM Table1 GROUP BY Name HAVING MAX( Date ) BETWEEN '2020-01-01' AND '2020-12-31' 모든 데이터베이스 출력하기 EXECUTE sp_helpdb;

SQL Server 2019 / 오류 22022 / SQLServerAgent가 현재 실행되고 있지 않으므로 이 동작을 알릴 수 없습니다.

SQL Server 2019 / 오류 22022 / SQLServerAgent가 현재 실행되고 있지 않으므로 이 동작을 알릴 수 없습니다.

SQL Server에 스케줄에 따라 자동 백업하는 작업을 추가할 때 다음과 같은 메시지가 나왔습니다. SQL Server Agent가 실행되고 있지 않아 작업을 추가할 수 없는 것입니다. SQL Server Agent가 실행 중이 아니어서 발생한 문제이므로, 실행시키면 해결되겠죠? SQL Server가 설치된 컴퓨터의 서비스를 엽니다. Windows Server라면 서버 관리자에서 를 클릭하면 됩니다. 아니면, 실행 창을 ...

SQL Server 2019 / 보안 / 사용자 계정 만들고 권한 추가하는 방법

SQL Server 2019 / 보안 / 사용자 계정 만들고 권한 추가하는 방법

SQL Server의 사용자 계정은 Windows 인증을 이용한 사용자 계정, SQL Server 자체의 사용자 계정이 있습니다. 그 중 SQL Server 자체의 사용자 계정을 만들고, 권한을 부여하는 방법을 알아보겠습니다. SSMS로 SQL Server에 접속합니다. 을 선택합니다.(확장하면 전체 사용자 목록을 볼 수 있습니다.) 마우스 우클릭하고 을 클릭합니다. 사용자를 추가하는 창이 뜹니다. 을 선택하고... 로그인 ...

SQL Server 2019 / SQL Server Express, SSMS, AdventureWorks 설치하는 방법

SQL Server 2019 / SQL Server Express, SSMS, AdventureWorks 설치하는 방법

SQL Server Express는 Microsoft가 제공하는 무료 SQL Server입니다. SQL Server Express, 그것을 관리하는 툴인 SSMS(SQL Server Management Studio), 샘플 데이터베이스 AdventureWorks를 설치하는 방법을 알아보겠습니다. SQL Server Express 다음 링크로 접속합니다. https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads 밑으로 조금 내려가면 Express 다운로드 링크가 있습니다. 클릭하면 바로 다운로드합니다. 다운로드한 파일을 실행하면 다음과 같은 창이 나옵니다. 을 클릭합니다. 을 클릭합니다. 설치 위치를 정한 후 를 ...

SQL Server 2019 / SSMS / 다이어그램 만드는 방법

SQL Server 2019 / SSMS / 다이어그램 만드는 방법

다이어그램 생성 시 아래와 같은 에러가 난다면 여기를 참고하여 해결할 수 있습니다. 보안 주체 "dbo"이(가) 없거나 이 유형의 보안 주체를 가장할 수 없거나 사용 권한이 없기 때문에 데이터베이스 보안 주체로 실행할 수 없습니다. (Microsoft SQL Server, 오류: 15517) 데이터베이스 하위에 있는 을 선택합니다. 마우스 우클릭 후 을 클릭합니다. 다이어그램에 포함될 테이블을 ...

SQL Server 2019 / Query / 주석

SQL Server 2019 / Query / 주석

주석으로 처리하면 해당 문자열은 실행되지 않습니다. 코드에 설명을 달거나 특정 쿼리를 잠시 실행시키고 싶지 않을 때 사용합니다. 주석에는 한 줄 주석과 여러 줄 주석이 있습니다. 한 줄 주석은 --로 만듭니다. -- 뒤에 있는 문자열이 주석이 됩니다. -- Commnet SELECT * FROM myDB; -- Comment 여러 줄 주석을 만들고 싶다면 /*와 */로 감쌉니다. 그 사이에 있는 ...