SQL Server / 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 / 보안 / 사용자 계정 만들고 권한 추가하는 방법

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

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

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

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

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

SQL Server / 포트 변경하는 방법

SQL Server / 포트 변경하는 방법

SQL Server의 기본 포트는 1433이다. 보안을 비롯하여 여러 가지 이유로 포트를 변경해야 할 경우가 있다. SQL Server의 포트를 1433에서 다른 것으로 변경하는 방법은 다음과 같다. 를 연다. 에서 인스턴스를 선택한다. 을 클릭한다. 의 TCP 포트를 원하는 것으로 변경한다. 또는 ...

SQL Server / Query / ROLLUP

SQL Server / Query / ROLLUP

부분합 등을 구하고 싶다면 ROLLUP을 사용한다. 기본 다음과 같은 sales 테이블이 있다고 하자. team은 소속, man은 직원, sales는 판매액이다. select * from sales ; 다음과 같이 하면 직원별 소계, 팀별 소계, 전체 합계가 출력된다. select id, team, man, sum( sales ) as sales from sales group by rollup ( team, man, id ) ; 다음과 같이 ...

SQL Server / SSMS / IntelliSense / 자동 완성 기능 사용하는 방법, 설정하는 방법

SQL Server / SSMS / IntelliSense / 자동 완성 기능 사용하는 방법, 설정하는 방법

텍스트 에디터의 경우 코드의 일부분을 입력했을 때 그 문자열을 포함한 코드 리스트를 보여주는 기능이 있다. 이러한 자동 완성 기능을 SSMS에서도 제공하고 있고, IntelliSense라고 한다. 원하는 것을 쉽게 찾고, 오타를 줄일 수 있는 유용한 기능이다. 예를 들어 from 뒤에 문자열을 입력하면 그와 관련된 것이 나오고, 상하 화살표를 이용해 선택한다. 선택한 것을 사용할 ...

SQL Server / SSMS / 도움말 추가하는 방법

SQL Server / SSMS / 도움말 추가하는 방법

SQL Server에 관한 많은 자료가 온라인에 있지만, 웹에서 검색하는 것이 불편하거나 불가능할 수 있다. 그런 경우 SSM에 도움말을 추가하여 쉽게 정보를 얻을 수 있다. 기본 설치를 했다면 도움말이 전혀 없으므로, 수동으로 추가해야 한다. SSMS를 실행하고 를 클릭한다. 추가하려는 도움말을 선택한다. 선택한 도움말을 다운로드할 때 필요한 디스크 용량은 오른쪽 ...

SQL Server 2022 / Always On 가용성 그룹 만들기

SQL Server 2022 / Always On 가용성 그룹 만들기

Always On 가용성 그룹을 만들면 한 SQL Server에 장애가 생겼을 때 다른 SQL Server가 대신하도록 할 수 있다. Always On 가용성 그룹은 Windows Server의 장애 조치(Failover) 클러스터를 기반으로 하고, 장애 조치(Failover) 클러스터는 Active Directory 환경에서 사용할 수 있다. 즉, Always On 가용성 그룹을 만드는 것보다 그러한 환경을 구축하는 게 더 어려울 ...

SQL Server 2022 / 설치 / 인스턴스 추가하는 방법

SQL Server 2022 / 설치 / 인스턴스 추가하는 방법

Microsoft 홈페이지에서는 SQL Server의 인스턴스를 다음과 같이 설명하고 있다. 데이터베이스 엔진 인스턴스는 운영 체제 서비스로 실행되는 sqlservr.exe 실행 파일의 복사본입니다. 각 인스턴스는 여러 시스템 데이터베이스와 하나 이상의 사용자 데이터베이스를 관리합니다. 각 컴퓨터에서 데이터베이스 엔진의 여러 인스턴스를 실행할 수 있습니다. 단순하게 이해하자면, 하나의 OS에 여러 SQL Server를 설치할 수 있다고 보면 된다. 기존 ...

SQL Server / Query / SELECT / 데이터 조회

SQL Server / Query / SELECT / 데이터 조회

예제로 사용한 데이터베이스는 AdventureWorks이다. SELECT로 원하는 데이터를 조회한다. SELECT FROM 기본 SELECT 뒤에는 조회할 열 이름을, FROM 뒤에는 조회할 테이블 이름을 입력한다. 모든 열을 조회한다면 *를 사용한다. HumanResources.Employee 테이블의 모든 열을 조회한다. select * from HumanResources.Employee ; HumanResources.Employee 테이블에서 BusinessEntityID, JobTitle, BirthDate, HireDate를 조회한다. select BusinessEntityID, JobTitle, BirthDate, HireDate from HumanResources.Employee ; TOP TOP으로 조회 개수를 정한다. 상위 10개를 ...

SQL Server / 메모

SQL Server / 메모

보안 주체 "dbo"이(가) 없거나 이 유형의 보안 주체를 가장할 수 없거나 사용 권한이 없기 때문에 데이터베이스 보안 주체로 실행할 수 없습니다. (Microsoft SQL Server, 오류: 15517) 데이터베이스를 복원하면 사용자 권한 문제로 다음과 같은 에러가 날 수 있다. 이는 다음과 같이 명령하여 해결할 수 있다. ALTER AUTHORIZATION ON DATABASE:: DBName TO 예를 들어 문제가 ...