본문 바로가기

Database

(123)
View --VIEW 를 사용하는 이유 --1. 자주 쓰는 쿼리문을 단순화 하기 위하여 --2. 보안을 위해 : 불필요한정보들/민감한 정보들을 제외하고 정보를 제공하기 위하여 --view생성 create view v_userTbl as select custId, custName, addr from customersTbl--이 안에내용만 바꾸면 됨 go --1. 에 해당할 때 --셀렉문 먼저 확인하기 select C.custName, s.saleDate, G.goodsName, S.sales from customersTbl C inner join salesTbl S ON C.custId = S.custId inner join goodsTbl G ON S.goodsId = G.goodsId --뷰로 만들기 creat..
인덱스 index --**장점 --검색속도 향상(그렇지 않은 경우도 있음) --쿼리 부하 감소 --**단점 --대략 10%정도의 추가공간 필요 --최초 인덱스 생성시간 필요 --데이터 변경 작업시 성능 저하 --**인덱스 종류 --1. 클러스터형 인덱스(Clustered) - 테이블 당 한개만 생성됨 --2. 비클러스터형 인덱스(Nonclustered) --clustered : 책의 목차 목록 --nonclustered : 책 맨 뒷장의 단어 찾기 --OnlineShopDB의 customersTbl 생성시 custId를 primary key로 지정 -- 따라서 custId 컬럼에 클러스터형 인덱스 자동 생성 --primary key에 비 클러스터형 인덱스 생성 가능 -- 방법 : primary key nonclustere..
update FK가 연결되고 cascade설정이 되지 않은 테이블의 내용을 수정하려 할 때 에러가 난다. 아래 방법을 사용하면 됨 --update문 update customersTbl set custId = 'kkkk1111' where custId = 'kkkkkkkk' --먼저 세일즈테이블의 FK를 날린다 alter table salesTbl drop constraint FK__salesTbl__custId__3B75D760 --constraint를 새로 만든다(cascade로 동일하게 변동되게 함) alter table salesTbl add constraint FK_salesTbl_custId foreign key (custId) references customersTbl (custId) on update c..
column --column 추가 alter table customersTbl add email nvarchar(50) null; --column 삭제 alter table customersTbl drop column email --column 변경 alter table customersTbl alter column addr nvarchar(20) null; --제약조건 날리기 alter table customersTbl drop constraint DF__customers__grade__36B12243 --제약조건 연습 create table testTbl(id int, name nvarchar(10)); --등록 alter table testTbl add constraint PK_testTbl_id primary..
table SELECT SELECT * FROM 테이블명 WHERE 필드='조건' AND 필드2='조건2' SELECT 필드1, 필드2, 필드3 FROM 테이블명 SELECT * FROM TAB; 존재하는 모든 테이블 보기 SELECT DISTINCT 필드1 FROM 테이블명; 중복제거하기 SELECT 필드1 FROM 테이블 WHERE 필드2 BETWEEN 00 AND 00; //00부터 00사이에서 SELECT 필드1 FROM 테이블 WHERE 필드2 IN (00, 00); //00과 00중에서 SELECT 필드1 FROM 테이블 WHERE 필드2 LIKE '%단어%'; SELECT 필드1 FROM 테이블 WHERE 필드2 IS NULL; or NoT IS NULL UPDATE UPDATE 테이블명 SET 필드=..
AdventureWorks 연습 시험 1.다음의 내용을 출력 ● 고객의 주문번호, 주문상세번호, 주문일, 주문수량, 주문상품명, 판매지역명,판매직원(first middle last), 선적회사명 ● 주문번호 오름차순 정렬 select S.SalesOrderNumber as [주문번호] , SD.SalesOrderDetailID as [주문상세번호] , S.OrderDate as [주문일] , SD.OrderQty as [주문수량] , PD.Name as [주문상품명] , ST.Name [판매지역명] , CONCAT(PP.FirstName, ' ', PP.MiddleName, ' ', PP.LastName) as [판매직원] , SH.Name as [선적회사명] from Sales.SalesOrderHeader S join Sales.S..
키 만들기( 복합키, 유니크, 체크제약 등) 제약조건이란? 열에 넣을 값에 대해서 잘못된 값이 들어가지 않도록 제한하는 것. NOT NULL : NULL값이 들어가지 않는다. PRIMARY KEY : 기본 키. FOREING KEY : 참조 키. UNIQUE : 중복값 없음. CHECK : ~~~아래 적음 --PK키 생성 create table temp1 ( userIdchar(8) primary key, namenvarchar(8) ); GO --PK키에 이름지어 생성 create table temp2 ( userIdchar(8)constraint PK_temp2_userId primary key, namenvarchar(10) ); GO --복합키만들기 create table goodsTbl ( prodCodevarchar(10)not null..
반복문 while, continue ----while 문 1~100까지 더한 값 구하기 i를 선언 후 1으로 초기화 한다 sum을 선언 후 0으로 초기화 한다 i가 100이 될 때 까지 sum에 더해준다 sum을 출력하면 1~100을 더한값이 나온다 declare @i int = 1 declare @sum bigint = 0 while(@i 0) begin if( @i % 49 = 0 ) begin print N'49의 배수: ' + cast(@i as char(3)) set @i += 1 continue end set @sum += @i set @i += 1 if( @i > 100) break end print @sum GO