원하는 개수만큼만 출력

select top(5) salary하면 상위 5개만 출력

with ties를 뒤에 붙이면 공동 등수 데이터도 가져온다.

 

percent

top(10) percent *

상위 10퍼센트

 

합계

Sum

 

평균

Avg

 

최대 최소

max min

 

로우 개수

select count(eno)

 

중복된 건 빼고 카운트

select count(distinct job)

 

그룹함수

group by로 기준을 만듦

집계함수는 이름 값 출력이 안된다.

나머지는 된다.

 

그룹함수에서 집계함수 사용

HAVING

그룹의 결과를 제한한다.

 

ROLLUP

중간합계와 전체 합계를 구한다.

with rollup

 

CUBE

큐브가 rollup 상위호환이다.

with cube

 

CASE

CASE 조건에 따라 서로 다른 처리

case when 조건1 then 결과1

else 결과n

end

 

pivot unpivot

pivot

행 집합을 열로 변환시켜 결과 값을 보여준다.

 

uppivot

열 집합을 행으로 변환시켜 결과 값을 보여준다.

select 칼럼명, rank () over (order by 순위를 정할 기준열)

 

dense_rank

그 수만큼 순위를 건너뛰지 않고 다음 순위 바로 나온다.

 

row_number

임의의 값을 대입해서 순위 매긴다.

 

NTILE

나누고 그 분할된 그룹에서 순차적으로 번호 매긴다.

 

partition by

열을 중심으로 그룹을 지어 범위 별로 순위를 매긴다.

IIF(boolean, true, false)

 

CHOOSE

index 값 위치의 변수 값을 돌려준다.

CHOOSE(index, val)

 

SEQUENCE

고유 값을 넣는 것

NEXT VALUE FOR deptsquence로 가능하다.

 

ANSI Inner Join

SELECT * FROM table1 INNER JOIN table2

ON table1.column1 = table2.column2

 

ANSI Outer Join

SLECT * FROM table1 [LEFT | RIGHT | FULL] OUTER JOIN table2

 

UNION

두 쿼리의 결과를 하나의 결과 집합으로 만드는 것이다.

두 테이블의 결과 집합의 열의 개수가 같고 형식이 같아야 한다.

SELECT 절에는 열이름이 존재해야 한다.

UNION ALL은 중복된 행 제거하지 않는다.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #3  (0) 2017.11.01
MS SQL 기초 #2  (0) 2017.11.01
MS SQL 기초 #1  (0) 2017.09.22

identity 속성

새로운 레코드가 추가 될 때 해당 칼럼을 구분할 때 사용되는 유일한 식별자 값이 자동으로 입력된다. - PK

IDENTITY [(seed, increment)]

seed 초기값 increment 증가치

하나의 테이블 당 하나의 칼럼에만 지정 가능

IDENT_INCR(), IDENT_SEED()

 

새로운 칼럼 추가

ALTER TABLE table_name

ADD column_name, data_type expr, ...

 

칼럼 수정

alter table cj_employee

alter column pdate varchar(20)

 

칼럼 삭제

alter table cj_employee

drop column pdate

 

테이블 내용 전체 제거

TRUNCATE TALBE table_name

 

테이블 제거

DROP TABLE tabel_name

SELECT

조회하고자 하는 칼럼명

FROM

조회하고자 하는 테이블 명

 

SELECT 문에는 사칙연산자 사용 가능

 

NULL

NULL은 블랙홀 개념

NULL 값 처리

isnull(commission, 0)

만약 commission null이면 0으로 대체

 

별칭 붙이기

as

출력에 별칭으로 출력된다.

 

DISTINCT

중복된 데이터를 한번만 출력한다.

 

where

특정 조건의 데이터만 조회

문자 데이터는 단일 따옴표로 다뤄야 한다.

날짜 데이터 조회도 마찬가지이다.

'2017/09/05'

 

논리 연산

and

or

not

<> 같지 않다.

 

사잇 값 출력

between a and b 이상 이하

not도 사용 가능 미만 초과

 

IN 연산자

or 대체용

IN(A, B, C)

하나라도 만족하면 출력

not도 사용 가능

where dno in (80, 90, 100)

 

LIKE 연산자와 와일드 카드

column_name LIKE pattern

% 또는 _

not도 가능

 

null 값 처리

is null

not도 사용

 

정렬

order by 칼럼명

ASC DESC

정렬 조건 여러 개

salary desc, ename asc

급여를 내림차순으로 하되 같은 경우 이름을 오름차순으로 정렬한다.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #4  (0) 2017.11.01
MS SQL 기초 #2  (0) 2017.11.01
MS SQL 기초 #1  (0) 2017.09.22

외래 키 값은 null이거나 참조 릴레이션의 기본 키 값과 동일해야 한다.

 

튜플

각 행애트리뷰트의 모임으로 구성

도메인 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자 값들의 집합

 

차수

애트리뷰트의 개수

 

카디널리티

튜플의 개수

 

sql문 종류

 

DDL

데이터 베이스를 정의하거나 다양한 오브젝트를 정의할 때 사용한다.

DML

사용하고 있는 모든 데이터가 실제 저장되는 데이터베이스 오브젝트인 테이블에 새로운 데이터에 대해 조회수정삭제삽입 등의 작업을 하기 위해 사용된다.

DCL

데이터베이스의 테이블저장 프로시저 등의 오브젝트를 어떠한 유저가 사용할 수 있게 하는 권한과 관련된다.

 

marster 서버로 이동

use model

go

 

DB 생성

CREATE DATABASE TEST01

 

primary

프라이머리 파일 그룹 지정

name 프라이머리 그룹 파일의 논리적인 이름

 

filename

운영체제에서 사용하는 파일의 이름과 경로를 의미

 

size

생성될 파일의 초기 크기

 

maxsize

파일의 최대 크기

 

filegrowth

파일의 증가 단위최대크기여서 초과할 수 없다.

 

데이터베이스 수정

ALTER DATABASE TEST01

 

데이터 베이스 축소

ALTER DATABASE TEST01

SET

AUTI_SHRINK ON

데이터베이스 엔진은 자동으로 빈 공간이 있는 데이터베이스를 축소한다.

 

데이터 베이스 파일 삭제

ALTER DATAVASE 데이터베이스 이름

REMOVE FILE 삭제할 파일의 논리적 이름

 

데이터베이스 이름 변경

ALTER DATABASE 데이터베이스 이름

MODIFY NAME = 변경할 데이터베이스 이름

 

데이터베이스 소유자 변경

sp_changedbowner '소유자이름'

 

데이터베이스 삭제

drop database 데이터베이스 이름

 

테이블 생성

CREATE TABLE table_name

(column_name, data_type expr, ...)

 

일반 문자열

varchar(100)이면 한글 50

 

유니코드 문자열

nchar(100) 200바이트 저장 영역

100글자까지 저장 가능

정확한 수 입력 때는

decimal 또는 numeric 사용해야 한다.

숫자는 tiniint로 사용하면 0 ~ 255까지 표현 가능하다.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #4  (0) 2017.11.01
MS SQL 기초 #3  (0) 2017.11.01
MS SQL 기초 #1  (0) 2017.09.22

데이터베이스의 개요

 

DBMS

데이터베이스 내의 데이터를 관리하는 파일 관리자

 

관계형 데이터베이스

관계나 2차원 테이블 이용

테이블 사용 로우와 칼럼으로 구성

 

데이터 타입

tinyint

smallint

int

정수 데이터 타입

 

날짜 및 시간 데이터 타입

datetume smalldatetime

 

고정 문자열과 가변 문자열

char, nchar varchar nvarchar

가변 문자열이 저장 공간 절약에 좋음

 

제약 조건

무결성 조건을 만족하기 위한 표준 방법 중의 하나

not null 제약 조건

기본 키 제약 조건

외래 키 제약 조건

 

SQL server 설치

Express, Workgroup, Standard, Enterprise

규모와 주용도에 따라 나뉨

 

SQL Server에서 제공하는 데이터베이스

시스템 데이터베이스

사용자 데이터베이스

 

시스템 데이터 베이스란?

SQL Server가 자체적으로 사용하는 데이터베이스

 

master

SQL Server가 자체 시스템을 유지 및 관리하기 위한 기본적인 내용을 다룬다.

model 개발자들이 새로운 사용자 데이터베이스를 만들 때 원본 역할을 한다.

 

msdb

msdb 데이터베이스는 경고 및 작업을 예약하고 운영자를 기록하기 위해 SQL Server 에이전트에서 사용된다.

 

tempdb

SQL Server에서 임시적으로 사용하는 메모리 역할을 한다.

 

데이터베이스는 데이터 저장 장소이고 관계형 데이터베이스는 관리하고자 하는 모든 데이터를 서로 연관관계를 가진 테이블 형식으로 저장할 뿐 아니라 이렇게 저장된 데이터에서 필요로 하는 정보만을 검색할 수 있는 방법을 함께 정의하고 있다.

 

SQL Server의 데이터베이스는 크게 시스템 데이터베이스와 사용자 데이터베이스, 두 가지로 나눌 수 있다. 시스템 데이터베이스는 SQL Server가 시스템을 운영, 관리하기 위한 데이터와 추가적으로 사용자 데이터베이스를 관리하기 위한 모든 데이터를 담아두는 곳이다.

 

데이터 모델링이란?

데이터베이스를 새롭게 구축하기 위한 준비과정으로서 사용자의 요구 사항을 듣고 사용자의 관점을 잘 분석하여 이를 추상화하여 문서화하는 과정을 말한다.

 

ERD(계체 관계 모델)

 

엔티티

실세계를 기본적로 표현할 수 있는 방법 - 테이블이 됨

 

엔티티는 인스턴스의 집합

 

애드리뷰트 - 칼럼이 됨

 

엔티티가 가질 수 있는 세부 특성

관계

엔티티 간의 연관성

 

관계의 차수

관계로 연결된 엔티티 타입들의 개수

 

카디날리티 비율

엔티티를 이루는 각 값이 관게에 참여할 수 있는 수

 

릴레이션 스키마

애트리뷰트의 집합

 

릴레이션 인스턴스

실제 값

 

릴레이션

스키마 + 인스턴스

 

무결성

개체 무결성

릴레이션에서 튜플을 구분하기 위해서 기본키를 구성하는 속성은 널 값이나 중복값을 가질 수 없다.

 

참조 무결성

외래 키 값은 null이거나 참조 릴레이션의 기본 키 값과 동일해야 한다.


질문은 댓글이나 방명록에 남겨주세요.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #4  (0) 2017.11.01
MS SQL 기초 #3  (0) 2017.11.01
MS SQL 기초 #2  (0) 2017.11.01

+ Recent posts