--[1]테이블생성 -- 삭제하기위해다음과같이명령어사용 -- Drop Table Customers Create Table dbo.Customers ( Num Int Identity(1,1) Primary Key, Name VarChar(25) Not Null, Age Int Null, Address VarChar(100) ) Go --[2]샘플데이터입력 Insert Customers Values('홍길동','21','서울') Insert Customers Values('백두산','31','서울') Insert Customers Values('한라산','41','부산') Insert Customers Values('지리산','21','부산') Insert Customers Values('설악산','31',..
--[0] 테스트용임시테이블작성 --Drop Table frontBorad1 Create Table dbo.FrontBorad1 ( ItemID Int Identity(1, 1), --Primary Key 및Not Null -넌클러스터드인덱스 Title VarChar(150) Null --클러스터드인덱스 ) Go Create Table dbo.FrontBorad2 ( ItemID Int Identity(1, 1), --Primary Key 및Not Null Title VarChar(150) Null, ) Go --[!] 실행속도비교: 아래2개구믄을불록씌우고Ctrl+L Select *From FrontBorad1 Where Title Like '제목%' Select *From FrontBorad2 Wher..
인덱스(Index)는 테이블, 뷰에 대해서 접근을 빠르게 지원하는 데이터베이스 개체입니다. --인덱스의효과 Select COUNT(*) From Zip Go Select *From Zip Where Dong Like '%역삼%' Go --모든것에완벽한조건을가지고있지만성능이떨어진다. Select *From Zip Where Dong Like '%역삼' Go Select *From Zip Where Dong Like '역삼%' Go -- ~~로시작하는게재일빠르고성능도좋다. 많이 사용 --예상 실행 시간을 확인해 보기. 상단에서 쿼리메뉴 (Ctrl+L : 예상실행계획) --SQL Server에서최고의성능향상: 인덱스 --Dong 필드는자주검색에사용되어 인덱스를 걸어봄 Create Clustered Index ..
집파인더라는 사이트를 알려드립니다. 이 곳은 현재 우리나라 전국의 주소와 우편번호가 파일로 저장이 되어져 있는 사이트입니다. 가입없이 파일 다운로드가 가능 함으로 학습목적인 분들이 사용하면 좋을것 같습니다. ------------ http://www.zipfinder.co.kr 사이트로 접속 하셔서 '우편번호원본파일' 메뉴로 이동하여 다운 받은후 엑셀파일로 다운받은 zipcode_20090929(0).dbf를 확장명 ".csv"로 저장합니다. SQL에서 우편번호를 가지고 오는 간단한 예제입니다. ps.해당 예제는 MS-SQL정식버전에서만 가능합니다. 해당 데이터베이스 - 태스크 - 데이터 가져오기 선택 아래 그림을 보고 순서대로 따라합니다. 다음 클릭 후 미리화면으로 확인하고 다음 데이터를 복사할 위치를..
DTS(데이터 변환 서비스) - 데이터 가져오기 및 내보내기 (Express 버전은 X, 정식 버전만 가능 - txt,csv, xlsx 등에 있는 데이터를 SQL Server Table로 이동 - 원격에 있는 DB를 로컬로 이동 일반 텍스트 파일(CSV파일)의 값을 DB로 가져오기 37장 예제를 하기 위해 데이터베이스와 사용자 계정 추가 데이터베이스 : TxtDTS , 사용자 계정 : TxtDTS, 비밀번호 : TxtDTS123 추가 후 D드라이브 -> DTS폴더 -> txtData.txt를 만들었습니다. 텍스트내용을 입력합니다. 생성한 "TxtDTS"데이터베이스를 마우스 오른쪽 클릭 - 태스크- 데이터가져오기 선택 SQL Server가져오기 및 내보내기 마법사가 실행됩니다. 여기서 설정하는 방법입니다...
--tempdb-에서새쿼리문실행(9월일오전11시30분) --저장프로시저(Stored Procedure) : 매개변수처리가능 --[0] 테이블설계 Create Table dbo.Categories ( CategoriesID Int Identity(1, 1) Not Null Primary Key, --카테고리번호 CategoryName VarChar(50), --카테고리명 -- SuperCategory Int Null, --부모카테고리번호(확장용) Align SmallInt Default(0) --카테고리보여지는순서(확장용) ) Go --[!] 4개 SQL문연습 --[1] 입력: Add / Write Insert Categories Values('컴퓨터', Null, Default) Insert Catego..
뷰 부분 수정 --[!] 뷰에다가직접데이터입력 Insert Into GetTopCategory(CategoryName) Values('가전') Go Select *From Categories Go --[!] 뷰의모든것을변경 Alter View dbo.GetTopCategory As Select * From dbo.Categories Where SuperCategory Is Null With Check Option --조건절에해당하는데이터만입력/수정가능 Go --추가후다시실행하면애러: Identity값입력x, SuperCategory => Null 입력 Insert Into GetTopCategory Values('오디오', 5, 2) Go --기본 Set Identity_Insert Categories ..
--[4] 수정: Modify / Edit Update Categories Set CategoryName = '콤퓨타' Where CategoriesID = 1 --[5] 삭제: Delete Delete Categories Where CategoriesID = 2 --[6] 검색: Search / Find --Like와is Null 사용 Select *From Categories Where CategoryName Like '%퓨%' And SuperCategory is Null --널(NULL)값비교 --[7] 뷰(View) 생성: Select문전용 --[a] 대분류데이터를출력하는구문을줄여서출력 Select CategoriesID, CategoryName From Categories Where Super..
--카테고리(상품카테고리응용프로그램설계 --[0] 테이블설계 Create Table dbo.Categories ( CategoriesID Int Identity(1, 1) Not Null Primary Key, --카테고리번호 CategoryName VarChar(50), --카테고리명 -- SuperCategory Int Null, --부모카테고리번호(확장용) Align SmallInt Default(0) --카테고리보여지는순서(확장용) ) Go --[!] 4개 SQL문연습 --[1] 입력: Add / Write Insert Categories Values('컴퓨터',Null, Default) --('상품명자리', 부모CategoriesID로들어가는데위에서컴퓨터 --CategoriesID가1이여서컴퓨터..
--[0]tempdb에테스트용테이블생성및데이터입력 Use tempdb Go --Drop Table Orders Create Table dbo.Orders ( [상품명] VarChar(10), [판매개수] Int ) Go Insert Orders Values('RADIO', 5) Insert Orders Values('TV', 3) Insert Orders Values('AUDIO', 1) Insert Orders Values('DVD', 7) Insert Orders Values('RADIO', 3) Insert Orders Values('DVD', 8) Insert Orders Values('TV', 10) --[1] 집계함수사용검색 Select *From Orders Select COUNT([판매개수..
--주소가'부산'인사람의나이보다크거나같은데이터출력 Select *From Members where Age >= (Select Age From Members Where Address = '부산') Go --에러: 여러개의값을반환하지못함 --위구문을개선: Or(Any, Some) 연산, And(All) 연산 --Any 구문사용 Select *From Members Where Age >= Any(Select Age From Members Where Address = '부산') Go --30, 100 출력 --All 구문사용 Select *From Members Where Age >= All(Select Age From Members Where Address='부산') Go --100 --Scalar 값이아닌다..
--[!]하위커리(서브쿼리) --3번인데이터의나이보다큰데이터만출력 -- [a] 3번레코드의나이 Select Age From Members Where Num = 3 --[b] 3번레코드의나이보다큰데이터출력 Select *From Members where Age > 30 --[a] 3번레코드의나이--26~29번을개선한것 Declare @intAge Int Select @intAge = Age From Members Where Num = 3 --[b] 3번레코드의나이보다큰데이터출력 Select *From Members Where Age > @intAge --[!]최종: 서브쿼리는기본적으로스칼라값이반환되어져야함 --32~36을개선한최종 Select *From Members Where Age > (Select A..
--서브쿼리문 --[1]샘플테이블생성 Create Table dbo.Members ( Num Int Identity(1, 1) Not Null Primary Key, --일년번호 Name VarChar(25) Not Null, --이름 Age TinyInt Null, --나이 Address VarChar(100) Null --주소 ) Go --[2] 예시데이터입력 Insert Into Members(Name, Age, Address) Values('홍길동', 21, '서울') Go Insert Members Values('백두산', 100, '부산') Go Insert Members Values('한라산', 30, '부산') Go --[3] 데이터조회(출력) Select *From Members Go
--3개테이블조인 --카테고리명, 상품명, 판매가, 코멘트 --ansi 오라클에서사용하는표준 Select c.CategoryName, p.ModelName, p.SellPrice, r.Comment From Categories c Join Products p On c.CategoryID = p.CategoryID Join Reviews r On p.ProductID = r.ReviewID Go --Sql전용문법 select c.CategoryName, p.ModelName, p.SellPrice, r.Comment From Categories c, Products p, Reviews r Where c.CategoryID = p.CategoryID And p.ProductID = r.ProductID Go
Copyright © 2016 by WaaNee. All Rights Reserved.