SQL Server 자습서 – Transact-SQL을 마스터하는 데 필요한 모든 것



SQL Server Tutorial에 대한이 문서는 MS SQL Server에서 사용되는 다양한 개념, 구문 및 명령에 대한 포괄적 인 가이드입니다.

매일 엄청난 양의 데이터가 생성되는 오늘날의 시장에서는 데이터 처리 방법을 이해하는 것이 매우 중요합니다. SQL Server는 데이터를 처리하기 위해 Microsoft에서 개발 한 통합 환경입니다.SQL Server 자습서의이 기사에서는 데이터베이스를 탐색하는 데 필요한 모든 작업과 명령을 학습합니다.

이해를 돕기 위해 블로그를 다음 범주로 나눴습니다.





명령 기술

데이터 정의 언어 명령 (DDL)

이 명령 세트는 데이터베이스를 정의하는 데 사용됩니다.

데이터 조작 언어 명령 (DML)



조작 명령은 데이터베이스에있는 데이터를 조작하는 데 사용됩니다.

데이터 제어 언어 명령 (DCL)

이 명령 세트는 데이터베이스 시스템의 권한, 권한 및 기타 제어를 처리합니다.

트랜잭션 제어 언어 명령 (TCL)

이 명령은 데이터베이스의 트랜잭션을 처리합니다.

이 문서에서는 명령 외에도 다음 항목을 다룹니다.



MS SQL Server-SQL Server 자습서-Edureka

  1. SQL Server 란 무엇입니까?
  2. SQL Server 설치
  3. SSMS를 사용하여 SQL Server에 연결
  4. 데이터베이스 엔진 액세스
  5. SQL Server 아키텍처
  6. SQL의 주석
  7. SQL Server 데이터 형식
  8. 데이터베이스의 키
  9. 데이터베이스의 제약
  10. 연산자
  11. 집계 함수
  12. 사용자 정의 기능
  13. 중첩 된 쿼리
  14. 조인
  15. 루프
  16. 저장 프로 시저
  17. 예외 처리

***노트*** 이 SQL Server 자습서에서는 아래 데이터베이스를 다음과 같이 고려할 것입니다.예를 들어 배우고 쓰는 방법을 보여줍니다.명령.

학생 아이디 학생 이름 부모님 성함 전화 번호 주소 시티 국가
하나나는 싫어아크 리티 메라9955339966여단 도로 블록 9하이데라바드인도
2마나 사Shourya Sharma9234568762메이요로드 15콜카타인도
AnaySoumya Mishra9876914261마라 탈리 하우스 No 101벵갈 루루인도
4Preeti로한 신하9765432234퀸즈로드 40델리인도
5ShanayaAbhinay agarwal9878969068오베로이 스트리트 21뭄바이인도

SQL Server에서 사용되는 다양한 명령을 이해하기 전에 SQL Server의 정의, 아키텍처 및 설치 방법을 이해하겠습니다.

SQL Server 란 무엇입니까?

Microsoft SQL Server는 관계형 데이터베이스 관리 시스템 . 그것은 지원합니다 구조화 된 쿼리 언어 SQL 언어의 자체 구현과 함께 제공됩니다. Transact-SQL (T-SQL) . SQL 데이터베이스를 처리 할 수있는 통합 환경이 있습니다. .

SQL Server의 주요 구성 요소는 다음과 같습니다.

  • 데이터베이스 엔진 : 이 구성 요소는 스토리지, 신속한 트랜잭션 처리 및 데이터 보안을 처리합니다.
  • SQL Server – 이 서비스는 MS SQL Server 인스턴스를 시작, 중지, 일시 중지 및 계속하는 데 사용됩니다.
  • SQL Server 에이전트 – 서버 에이전트 서비스는 작업 스케줄러의 역할을하며 이벤트 또는 요구 사항에 따라 트리거됩니다.
  • SQL 서버 브라우저 –이 서비스는 들어오는 요청을 원하는 SQL Server 인스턴스에 연결하는 데 사용됩니다.
  • SQL Server 전체 텍스트 검색 – 사용자가 SQL 테이블의 문자 데이터에 대해 전체 텍스트 쿼리를 실행할 수 있도록하는 데 사용됩니다.
  • SQL Server VSS 작성기 - SQL Server가 실행되지 않을 때 데이터 파일의 백업 및 복원을 허용합니다.
  • SQL Server Analysis Services (SSAS) – 이 서비스는 데이터 분석, 데이터 마이닝 및 능력. SQL Server는 다음과도 통합됩니다. 과 아르 자형 고급 데이터 분석을 위해.
  • SSRS (SQL Server Reporting Services) – 이름에서 알 수 있듯이이 서비스는 다음과의 통합을 포함하여 기능 및 의사 결정 기능을 제공하는 데 사용됩니다. .
  • SQL Server 통합 서비스 (SSIS) - 이 서비스는 여러 데이터 소스의 다양한 데이터 유형에 대해 ETL 작업을 수행하는 데 사용됩니다.

이제 MS SQL Server가 무엇인지 알았으므로 SQL Server 자습서에 대한이 기사를 진행하고 SQL Server를 설치 및 설정하는 방법을 이해하겠습니다.

SQL Server 설치

아래 단계에 따라 SQL Server를 설치하십시오.

1 단계: 공식 페이지로 이동 Microsoft SQL Server 다운로드 에서 온-프레미스 또는 클라우드에 SQL Server를 설치하는 옵션을 찾을 수 있습니다.

2 단계: 이제 아래로 스크롤하면 두 가지 옵션이 표시됩니다. 개발자 및 엔터프라이즈 에디션 . 여기에서 나는 개발자 에디션 . 다운로드하려면 지금 다운로드 선택권. 아래를 참조하십시오.

3 단계 : 응용 프로그램이 다운로드되면 파일을 두 번 클릭하면 다음 창이 표시됩니다.

4 단계 : 이제 3 가지 옵션 중 하나를 선택하여 SQL Server를 설정할 수 있습니다. 여기서는 기본 옵션 . 설치 유형 옵션을 선택하면 다음 화면은 라이센스 계약에 동의하는 것입니다. 이를 수행하려면 동의하기 다음 창에서.

5 단계 : 다음으로 SQL Server 설치 위치를 지정해야합니다. 그런 다음 설치를 클릭해야합니다.

클릭하면 설치 , 필요한 패키지가 다운로드되는 것을 볼 수 있습니다. 이제 설치가 완료되면 다음 화면이 표시됩니다.

여기에서 계속 진행하여 지금 연결을 클릭하거나 설치를 사용자 정의 할 수 있습니다. 더 나은 이해를 위해 앞으로 나아가서 커스터마이즈.

6 단계 : 클릭하면 커스터마이즈 위의 창에서 다음 마법사가 열리는 것을 볼 수 있습니다. 다음 창에서 다음.

7 단계 : 규칙이 자동으로 설치되면 다음 . 아래를 참조하십시오.

8 단계 : 다음으로 설치 유형을 선택해야합니다. 따라서 수행 SQL Server 2017의 새 설치 옵션을 클릭 한 다음 다음.

9 단계 : 열리는 마법사에서 에디션을 선택합니다. 개발자. 그런 다음 다음 . 아래를 참조하십시오.

10 단계 : 이제 라디오 버튼을 체크인하여 라이센스 계약을 읽고 동의 한 다음 다음 . 아래를 참조하십시오.

11 단계 : 아래 마법사에서 설치할 기능을 선택할 수 있습니다. 또한 인스턴스 루트 디렉토리를 선택한 다음 다음 . 여기에서 나는 데이터베이스 엔진 서비스 .

12 단계 : 다음으로 인스턴스의 이름을 지정하면 인스턴스 ID가 자동으로 생성됩니다. 여기서는 인스턴스 이름을 'edureka'로 지정합니다. 그런 다음 다음.

13 단계 : 서버 구성 마법사에서 다음 .

14 단계 : 이제 인증 모드를 활성화해야합니다. 여기에서 Windows 인증 모드혼합 모드 . 혼합 모드를 선택하겠습니다. 그런 다음 비밀번호를 언급하고 현재 사용자를 다음과 같이 추가합니다. 관리자 선택하여 현재 사용자 추가 선택권.

15 단계 : 그런 다음 구성 파일 경로를 선택하고 설치 .

설치가 완료되면 다음 화면이 표시됩니다.

SSMS를 사용하여 SQL Server에 연결

SQL Server를 설치 한 후 다음 단계는 SQL Server를 SQL Server Management Studio에 연결하는 것입니다. 이를 위해 아래 단계를 따르십시오.

1 단계: 다음 창으로 돌아가서 SSMS 설치 선택권.

2 단계: 해당 옵션을 클릭하면 다음 페이지로 리디렉션됩니다. 다음 페이지 , 선택해야하는 곳 SSMS를 다운로드합니다.

3 단계 : 설치가 다운로드 된 후 응용 프로그램을 두 번 클릭하면 다음 마법사가 열립니다.

4 단계 : 클릭 설치 옵션 , 위의 창에서 설치가 시작되는 것을 볼 수 있습니다.

5 단계 : 설치가 완료되면 아래와 같은 대화 상자가 나타납니다.

SSMS를 설치 한 후 다음 단계는 데이터베이스 엔진 .

데이터베이스 엔진에 액세스

열 때 SQL 서버 관리 스튜디오 ~로부터 메뉴를 시작하다 , 아래 그림에 표시된 창과 유사한 창이 열립니다.

여기에서 서버 이름, 인증 모드를 언급하고 잇다.

클릭 후 잇다 , 다음 화면이 표시됩니다.

여러분, 이것이 SQL Server를 설치하고 설정하는 방법입니다. 이제이 SQL Server 자습서에서 SQL Server 아키텍처의 다양한 구성 요소를 이해하겠습니다.

SQL Server 아키텍처

SQL Server의 아키텍처는 다음과 같습니다.

  • 섬기는 사람 & minus SQL 서비스가 설치되고 데이터베이스가있는 위치입니다.
  • 관계형 엔진 & minus 쿼리 구문 분석기, 최적화 프로그램 및 실행 프로그램을 포함하며 실행은 관계형 엔진에서 발생합니다.
  • 명령 파서 & minus 쿼리 구문을 확인하고 쿼리를 기계어로 변환합니다.
  • 옵티 마이저 & minus 통계, 쿼리 및 Algebrator 트리를 입력으로 사용하여 실행 계획을 출력으로 준비합니다.
  • 쿼리 실행기 & minus 쿼리가 단계별로 실행되는 곳입니다.
  • 저장 엔진 & minus 스토리지 시스템의 데이터 저장 및 검색, 데이터 조작, 트랜잭션 관리 및 잠금을 담당합니다.

이제 SQL Server 및 다양한 구성 요소를 설정하고 설치하는 방법을 알았으므로 작성을 시작하겠습니다. 섬기는 사람. 그러나 그 전에 SQL Server에서 주석을 작성하는 방법에 대해 설명하겠습니다.

SQL Server의 주석

SQL에서 주석을 달 수있는 두 가지 방법이 있습니다. 에스 한 줄 주석 아니면 그 미디엄 최전선 주석 .

한 줄 주석

한 줄 주석은 다음으로 시작합니다. 두 개의 하이픈 (-). 따라서 (-) 뒤에 언급 된 텍스트는 컴파일러에서 한 줄 끝까지 무시됩니다.

예:

-한 줄 주석의 예

여러 줄 주석

여러 줄 주석은 / *로 시작하고 다음으로 끝납니다. * / . 따라서 사이에 언급 된 텍스트 / ** / 컴파일러에서 무시됩니다.

예:

/ * 여러 줄 주석의 예 * /

이제 SQL Server 자습서의이 기사에서는 첫 번째 명령 집합 (예 : 데이터 정의 언어 명령)부터 시작하겠습니다.

데이터 정의 언어 명령

기사의이 섹션에서는 데이터베이스를 정의 할 수있는 명령에 대한 아이디어를 제공합니다. 명령은 다음과 같습니다.

창조하다

이 문은 테이블, 데이터베이스 또는보기를 만드는 데 사용됩니다.

‘CREATE DATABASE’문

이 문은 데이터베이스를 만드는 데 사용됩니다.

통사론

데이터베이스 데이터베이스 이름 만들기

데이터베이스 학생 만들기

테이블 만들기 ’진술

이름에서 알 수 있듯이이 문은 테이블을 만드는 데 사용됩니다.

통사론

CREATE TABLE TableName (Column1 데이터 유형, Column2 데이터 유형, Column3 데이터 유형, .... ColumnN 데이터 유형)


CREATE TABLE StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

하락

이 문은 기존 테이블, 데이터베이스 또는 뷰를 삭제하는 데 사용됩니다.

'DROP DATABASE'선언문

이 문은 기존 데이터베이스를 삭제하는 데 사용됩니다. 아래 명령을 실행하는 즉시 데이터베이스에있는 전체 정보가 손실됩니다.

통사론

DROP DATABASE DatabaseName

DROP 데이터베이스 학생

'DROP TABLE'진술

이 문은 기존 테이블을 삭제하는 데 사용됩니다. 아래 명령을 실행하는 즉시 테이블에있는 전체 정보가 손실됩니다.

통사론

DROP TABLE TableName

드롭 테이블 StudentInfo

나이

ALTER 명령은 기존 테이블에서 열 또는 제약 조건을 추가, 삭제 또는 수정하는 데 사용됩니다.

ALTER TABLE ’진술

이 문은 기존 테이블의 열을 추가, 삭제, 수정하는 데 사용됩니다.

ADD / DROP COLUMN이있는 'ALTER TABLE'문

ALTER TABLE 문은 ADD / DROP Column 명령과 함께 사용하여 열을 추가 및 삭제합니다.

통사론

ALTER TABLE TableName ADD ColumnName 데이터 유형 ALTER TABLE TableName DROP COLUMN ColumnName

--ADD 열 BloodGroup : ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP 열 BloodGroup : ALTER TABLE StudentInfo DROP COLUMN BloodGroup

ALTER COLUMN이있는 'ALTER TABLE'문

ALTER TABLE 문을 ALTER 열과 함께 사용하여 테이블에있는 기존 열의 데이터 유형을 변경할 수 있습니다.

통사론

ALTER TABLE TableName ALTER COLUMN ColumnName 데이터 유형

-열 DOB를 추가하고 데이터 유형을 날짜에서 datetime으로 변경하십시오. ALTER TABLE StudentInfo ADD DOB 날짜 ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

자르기

이 SQL 명령은 테이블에있는 정보를 삭제하는 데 사용되지만 테이블 자체를 삭제하지는 않습니다. 따라서 테이블 자체를 삭제하지 않고 테이블에있는 정보를 삭제하려면 TRUNCATE 명령을 사용해야합니다. 그렇지 않으면 DROP 명령을 사용하십시오.

통사론

TRUNCATE TABLE TableName

TRUNCATE TABLE StudentInfo

이름 바꾸기

이 문은 하나 이상의 테이블 이름을 바꾸는 데 사용됩니다.

통사론

sp_rename 'OldTableName', 'NewTableName'

sp_rename 'StudentInfo', 'Infostudents'

SQL Server 자습서에 대한이 기사에서 SQL Server에서 지원하는 다양한 데이터 유형을 이해하겠습니다.

SQL Server 데이터 형식

데이터 유형 범주 데이터 유형 이름 기술 범위 / 구문
정확한 숫자 숫자숫자 값을 저장하는 데 사용되며 고정 된 정밀도와 스케일 숫자를 가짐– 10 ^ 38 +1 ~ 10 ^ 38 – 1.
작은정수 값을 저장하는 데 사용0에서 255
smallint정수 값을 저장하는 데 사용-2 ^ 15 (-32,768) ~ 2 ^ 15-1 (32,767)
Bigint정수 값을 저장하는 데 사용-2 ^ 63 (-9,223,372,036,854,775,808) ~ 2 ^ 63-1 (9,223,372,036,854,775,807)
int정수 값을 저장하는 데 사용-2 ^ 31 (-2,147,483,648) ~ 2 ^ 31-1 (2,147,483,647)
비트0, 1 또는 NULL 값을 나타내는 정수 데이터 유형을 저장합니다.0, 1 또는 NULL
소수숫자 값을 저장하는 데 사용되며 고정 된 정밀도 및 스케일 숫자– 10 ^ 38 +1 ~ 10 ^ 38 – 1.
작은 돈화폐 저장에 사용또는 통화 가치.– 214,748.3648 ~ 214,748.3647
화폐 저장에 사용또는 통화 가치.-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 (-922,337,203,685,477.58
Informatica의 경우 922,337,203,685,477.58로 변경됩니다.
대략적인 숫자 흙손부동 소수점 숫자 데이터를 저장하는 데 사용됩니다.– 1.79E + 308 ~ -2.23E-308, 0 및 2.23E-308 ~ 1.79E + 308
레알부동 소수점 숫자 데이터를 저장하는 데 사용됩니다.– 3.40E + 38에서 -1.18E – 38, 0 및 1.18E – 38에서 3.40E + 38
날짜와 시간 데이트SQL Server에서 날짜를 정의하는 데 사용됩니다.구문 : 날짜
smalldatetime시간이 24 시간을 기준으로하는 시간과 결합되는 날짜를 정의하는 데 사용되며 초는 항상 0 (: 00)이고 소수 초는 없습니다.구문 : smalldatetime
날짜 시간24 시간제를 기반으로하는 분수 초가있는 시간과 결합되는 날짜를 정의하는 데 사용됩니다.구문 : datetime
datetime2 datetime2 기존의 확장으로 날짜 시간 더 큰 기본 분수 정밀도, 큰 날짜 범위를 가진 유형.구문 : datetime2
datetimeoffset시간대를 인식하는 시간과 결합 된 날짜를 정의하는 데 사용됩니다. 24 시간제를 기준으로합니다.구문 : datetimeoffset
시각하루 중 시간을 정의하는 데 사용됩니다.구문 : time
문자열 고정 크기 문자를 저장하는 데 사용됩니다.[( )] 여기서 n 값은 1 – 8,000 사이입니다.
varchar가변 길이 문자를 저장하는 데 사용됩니다.varchar [( | 최대)] 여기서 n 값은 1-8000이고 허용되는 최대 스토리지는 2GB입니다.
본문v를 저장하는 데 사용가변 길이 비 유니 코드 데이터허용되는 최대 문자열 길이 – 2 ^ 31-1 (2,147,483,647)
유니 코드 문자열 nchar고정 크기 문자를 저장하는 데 사용됩니다.nchar[(n)] 여기서 n 값은 1-4000에서 다릅니다.
nvarchar가변 길이 문자를 저장하는 데 사용됩니다.varchar [( | 최대)] 여기서 n 값은 1-4000이고 허용되는 최대 스토리지는 2GB입니다.
ntext가변 길이 유니 코드 데이터를 저장하는 데 사용됩니다.허용되는 최대 문자열 길이 – 2 ^ 30-1 (2,147,483,647)
이진 문자열 바이너리고정 길이의 이진 데이터 유형을 저장하는 데 사용됩니다.바이너리[( )] 여기서 n 값은 1 – 8,000 사이입니다.
varbinary고정 길이의 이진 데이터 유형을 저장하는 데 사용됩니다.varbinary[( )] 여기서 n vale은 1-8000이고 허용되는 최대 스토리지는 2 ^ 31-1 바이트입니다.
영상가변 길이 이진 데이터를 저장하는 데 사용됩니다.0-2 ^ 31-1 (2,147,483,647) 바이트
기타 데이터 유형 커서에 대한 참조를 포함하는 저장 프로 시저 또는 변수 OUTPUT 매개 변수의 데이터 유형입니다.-
행 버전데이터베이스 내에서 자동으로 생성 된 고유 한 이진수를 노출하는 데 사용됩니다.-
hierarchyid계층 구조에서 위치를 나타내는 데 사용됩니다.-
고유 식별자16 바이트 GUID입니다.통사론:고유 식별자
sql_variant다양한 SQL Server 지원 데이터 형식의 값을 저장하는 데 사용됩니다.구문 : sql_variant
xmlXML 데이터 유형을 저장하는 데 사용됩니다.

xml ([CONTENT | DOCUMENT] xml_schemacollection)

공간 기하학 유형유클리드 (평면) 좌표계로 데이터를 나타내는 데 사용됩니다.-
공간 지리 유형GPS 위도 및 경도 좌표와 같은 타원 (원형 지구) 데이터를 저장하는 데 사용됩니다.-
나중에 처리 할 결과 집합을 저장하는 데 사용됩니다.-

다음으로,이 기사에서는 데이터베이스의 다양한 유형의 키와 제약 조건을 이해하도록하겠습니다.

데이터베이스의 다양한 키 유형

다음은 데이터베이스에서 사용되는 다양한 유형의 키입니다.

  • 후보 키 – Candidate Key는 테이블을 고유하게 식별 할 수있는 속성 세트입니다. 테이블에는 둘 이상의 후보 키가있을 수 있으며 선택한 후보 키 중에서 하나의 키가 기본 키로 선택됩니다.
  • 슈퍼 키 – 속성 집합은 튜플을 고유하게 식별 할 수 있습니다. 따라서 후보 키, 고유 키 및 기본 키는 슈퍼 키이지만 그 반대의 경우도 마찬가지입니다.
  • 기본 키 – 기본 키 모든 튜플을 고유하게 식별하는 데 사용됩니다.
  • 대체 키 – 대체 키는 기본 키로 선택되지 않은 후보 키입니다.
  • 고유 키- 고유 키는 기본 키와 유사하지만 열에 단일 NULL 값을 허용합니다.
  • 외래 키 – 다른 속성의 값으로 만 존재하는 값을 취할 수있는 속성은 외래 키 참조하는 속성에.
  • 복합 키- 복합 키는 각 튜플을 고유하게 식별하는 두 개 이상의 열 조합입니다.

데이터베이스에서 사용되는 제약

제약 조건은 데이터베이스에서 테이블에 저장된 데이터에 대한 규칙을 지정하는 데 사용됩니다. 다른 유형의 SQL의 제약 다음과 같다:

NULL 아님

NOT NULL 제약 조건은 열이 NULL 값을 가질 수 없도록합니다.

CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) --NOT NULL on ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL

독특한

이 제약 조건은 열의 모든 값이 고유하도록합니다.

--UNIQUE on Create Table CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) --UNIQUE on Multiple Columns CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE on ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --UNIQUE 제약 조건을 삭제하려면 ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info

검사

CHECK 제약 조건은 열의 모든 값이 특정 조건을 충족하도록합니다.

--CHECK 제약 조건 CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000) CHECK (Country = 'India')) --CHECK 여러 열에 대한 제약 조건 CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CHECK (Country = 'India'AND City = 'Hyderabad')) --CHECK 제약 조건 ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India')- CHECK 제약 조건 ALTER TABLE에 이름 StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (국가 = 'India')-CHECK 제약 조건을 삭제하려면 ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

기본

DEFAULT 제약 조건은 값이 지정되지 않은 경우 열에 대한 기본값 집합으로 구성됩니다.

--DEFAULT 제약 조건 CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) DEFAULT 'India') --DEFAULT Constraint on ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India'FOR Country --To drop the Default Constraint ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

인덱스

그만큼 INDEX 제약 테이블에 인덱스를 만드는 데 사용되며이를 통해 데이터베이스에서 데이터를 매우 빠르게 생성하고 검색 할 수 있습니다.

통사론

-중복 값이 ​​허용되는 인덱스 생성 CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN)-중복 값이 ​​허용되지 않는 인덱스 생성 CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... 컬럼 N)

StudentsInfo (StudentName)에서 인덱스 생성 idex_StudentName-테이블에서 인덱스를 삭제하려면 DROP INDEX StudentsInfo.idex_StudentName

SQL Server 자습서에 대한이 기사에서는 이제 Microsoft SQL Server에서 사용되는 다양한 데이터 조작 언어 명령을 이해하겠습니다.

데이터 조작 언어 명령

이 섹션에서는 데이터베이스를 조작 할 수있는 모든 명령을 다룹니다. 명령은 다음과 같습니다.

이러한 명령 외에도 다음과 같은 기타 조작 연산자 / 기능이 있습니다.

사용하다

이 문은 데이터베이스에서 다양한 작업을 수행하기 시작할 데이터베이스를 선택하는 데 사용됩니다.

통사론

DatabaseName 사용

학생 사용

에 집어 넣다

그만큼 INSERT INTO 문 기존 테이블에 새 레코드를 삽입하는 데 사용됩니다.

통사론

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...)-열 이름을 언급하지 않으려면 아래 구문 INSERT INTO TableName VALUES를 사용합니다. (값 1, 값 2, 값 3, ...)

INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ( '06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India' ') StudentsInfo 값에 삽입 ('07 ','Vishal ','Mishra ','9876509712 ','Nice Road 15 ','Pune ','India ')

최신 정보

UPDATE 문은 테이블에 이미있는 레코드를 수정하거나 업데이트하는 데 사용됩니다.

통사론

UPDATE TableName SET Column1 = Value1, Column2 = Value2, ... WHERE 조건


StudentsInfo SET 업데이트 StudentName = 'Aahana', City = 'Ahmedabad'WHERE StudentID = 1

지우다

DELETE 문은 테이블의 기존 레코드를 삭제하는 데 사용됩니다.

통사론

TableName WHERE 조건에서 삭제

StudentName = 'Aahana'에서 StudentsInfo에서 삭제

가다

MERGE 문은 소스 테이블이 제공되는 특정 테이블에서 INSERT, UPDATE 및 DELETE 작업을 수행하는 데 사용됩니다. 아래를 참조하십시오.

통사론

MERGE TagretTableName USING SourceTableName ON MergeCondition ON MATCHED THEN Update_Statement WHEN NOT MATCHED THEN Insert_Statement WHEN NOT SOURCE THEN DELETE

MERGE 문을 이해하려면 다음 테이블을 Source 테이블과 Target 테이블로 고려하십시오.

소스 테이블 :

학생 아이디 학생 이름 점수
하나나는 싫어87
2마나 사92
4Anay74

대상 테이블 :

학생 아이디 학생 이름 점수
하나나는 싫어87
2마나 사67
Saurabh55
MERGE SampleTargetTable TARGET USING SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) WHEN MATCHED AND TARGET.StudentName SOURCE.StudentName OR TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET.StudentName = SOURCE.StudentName, TARGET.StudentName 대상으로 일치하지 않는 경우 (StudentID, StudentName, Marks) 값 (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks)을 소스별로 일치하지 않으면 삽입 한 다음 삭제하십시오.

산출

학생 아이디 학생 이름 점수
하나나는 싫어87
2마나 사92
4Anay74

고르다

그만큼 SELECT 문 데이터베이스, 테이블 또는 뷰에서 데이터를 선택하는 데 사용됩니다. 반환 된 데이터는 다음과 같은 결과 테이블에 저장됩니다. 결과 세트 .

통사론

SELECT Column1, Column2, ... ColumN FROM TableName-(*)은 테이블에서 모두 선택하는 데 사용됩니다. SELECT * FROM table_name-반환 할 레코드 수를 선택하려면 다음을 사용합니다. SELECT TOP 3 * FROM TableName

-몇 개의 열을 선택하려면 SELECT StudentID, StudentName FROM StudentsInfo-(*)는 테이블에서 모두 선택하는 데 사용됩니다. SELECT * FROM StudentsInfo-반환 할 레코드 수 선택 : SELECT TOP 3 * FROM StudentsInfo

SELECT 문에 다음 키워드를 사용할 수도 있습니다.

뚜렷한

DISTINCT 키워드는 SELECT 문과 함께 사용되어 다른 값만 반환합니다.

통사론

SELECT DISTINCT Column1, Column2, ... ColumnN FROM TableName

StudentsInfo에서 다른 전화 번호 선택

주문

이 문은 필요한 결과를 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다. 기본적으로 결과는 오름차순으로 저장됩니다. 그러나 결과를 내림차순으로 얻으려면 다음을 사용해야합니다. DESC 예어.

통사론

SELECT Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC

-ParentName으로 정렬 된 'StudentsInfo'테이블에서 모든 학생 선택 : SELECT * FROM StudentsInfo ParentName으로 정렬-ParentName으로 내림차순으로 정렬 된 'StudentsInfo'테이블에서 모든 학생 선택 : SELECT * FROM StudentsInfo ORDER BY ParentName DESC- ParentName 및 StudentName으로 정렬 된 'StudentsInfo'테이블에서 모든 학생을 선택합니다. SELECT * FROM StudentsInfo ParentName, StudentName으로 정렬 / * ParentName을 기준으로 내림차순으로 정렬 된 'StudentsInfo'테이블에서 모든 학생을 오름차순으로 선택 : * / SELECT * FROM StudentsInfo ORDER BY ParentName ASC, StudentName DESC

그룹화

이 문은 집계 함수 결과 집합을 하나 이상의 열로 그룹화합니다.

통사론

SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE 조건 GROUP BY ColumnName (s) ORDER BY ColumnName (s)

-각 도시의 학생 수를 나열합니다. SELECT COUNT (StudentID), City FROM StudentsInfo GROUP BY 도시

그룹화 세트

GROUPING SETS는 SQL Server 2008에 도입되었으며, 사용자가 생성 할 수있는 결과 집합을 생성하는 데 사용됩니다. UNION ALL 여러 단순 GROUP BY 절의.

통사론

SETS (ColumnName (s))를 그룹화하여 TableName GROUP에서 ColumnNames (s)를 선택합니다.

집합을 그룹화하여 StudentsInfo 그룹에서 StudentID, StudentName, COUNT (City) 선택 ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

HAVING

이 절은 다음과 같은 시나리오에서 사용됩니다. WHERE 키워드 쓸 수 없다.

통사론

SELECT ColumnName (s) FROM TableName WHERE 조건 GROUP BY ColumnName (s) HAVING 조건 ORDER BY ColumnName (s)

SELECT COUNT (StudentID), City FROM StudentsInfo 도시 별 그룹 HAVING COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC

으로

INTO 키워드는 SELECT 문 한 테이블에서 다른 테이블로 데이터를 복사합니다. 이 테이블이 임시 테이블이라는 것을 이해할 수 있습니다. 임시 테이블은 일반적으로 원래 테이블을 방해하지 않고 테이블에있는 데이터에 대한 조작을 수행하는 데 사용됩니다.

통사론

SELECT * INTO NewTable [IN ExternalDB] FROM OldTable WHERE 조건

- 'StudentsInfo'테이블의 백업을 생성하려면 SELECT * INTO StudentsBackup FROM StudentsInfo --To select 몇 열만 StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'

입방체

CUBE는 GROUP BY 절 . GROUP BY 절에 지정된 그룹화 열의 모든 조합에 대한 소계를 생성 할 수 있습니다.

통사론

SELECT ColumnName (s) FROM TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)

StudentID, COUNT (City) from StudentsInfo GROUP BY CUBE (StudentID) 학생 ID 별 정렬

롤업

ROLLUP은 GROUP BY 절의 확장입니다. 이를 통해 부분합을 나타내는 추가 행을 포함 할 수 있습니다. 이를 총합계 행과 함께 수퍼 집계 행이라고합니다.

통사론

SELECT ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)

ROLLUP (StudentID)별로 StudentsInfo 그룹에서 StudentID, COUNT (City) 선택

오프셋

OFFSET 절은 SELECT 및 ORDER BY 문 레코드 범위를 검색합니다. 자체적으로 사용할 수 없으므로 ORDER BY 절과 함께 사용해야합니다. 또한 언급 한 범위는 0보다 크거나 같아야합니다. 음수 값을 언급하면 ​​오류가 표시됩니다.

통사론

SELECT ColumnNames) FROM TableName WHERE 조건 ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS

새 열 고려 점수StudentsInfo 표.

StudentsInfo에서 StudentName, ParentName 선택 ORDER BY Marks OFFSET 1 ROWS

술책

FETCH 절은 여러 행 집합을 반환하는 데 사용됩니다. OFFSET 절과 함께 사용해야합니다.

통사론

SELECT ColumnNames) FROM TableName WHERE 조건 ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS ONLY

StudentsInfo에서 StudentName, ParentName 선택 ORDER BY Marks OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY

상단

TOP 절은 반환 할 레코드 수를 언급하기 위해 SELECT 문과 함께 사용됩니다.

통사론

TableName WHERE 조건에서 TOP 번호 ColumnName (s) 선택

학생 정보에서 TOP 3 * 선택

피벗

PIVOT은 행을 열 값으로 회전하고 필요한 경우 나머지 열 값에서 집계를 실행하는 데 사용됩니다.

통사론

SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (데이터를 생성하는 SELECT 쿼리) AS [alias 초기 쿼리의 경우] PIVOT ([AggregationFunction] (ColumName) FOR [값이 열 머리글이 될 열의 열 이름] IN ([첫 번째 피벗 된 열 이름], [두 번째 피벗 된 열 이름], [세 번째 피벗 된 열 이름] ... [마지막 피벗 컬럼])) AS [피벗 테이블 별칭]

자세한 예를 보려면 다음을 참조하십시오. SQL PIVOT 및 UNPIVOT에 대한 내 기사 . 이 SQL Server 자습서의 다음으로 Microsoft SQL Server에서 지원하는 다양한 연산자를 살펴 보겠습니다.

연산자

그만큼 다양한 유형의 연산자 SQL Server에서 지원하는 것은 다음과 같습니다.

그들 각각에 대해 하나씩 논의합시다.

산술 연산자

운영자 의미 통사론

+

부가

표현 + 표현

-

빼기

표현 – 표현

*

곱셈

표현 * 표현

/

Divison

표현 / 표현

%

모듈러스

식 % 식

할당 연산자

운영자 의미 통사론

=

변수에 값 할당

변수 =‘값’

비트 연산자

운영자 의미 통사론

& (비트 AND)

두 정수 값간에 비트 논리 AND 연산을 수행하는 데 사용됩니다.

표현 및 표현

& = (비트 AND 할당)

두 정수 값간에 비트 논리 AND 연산을 수행하는 데 사용됩니다. 또한 작업의 출력에 값을 설정합니다.

식 & = 식

| (비트 OR)

Transact-SQL 문 내에서 이진 식으로 변환 된 두 정수 값간에 비트 논리 OR 연산을 수행하는 데 사용됩니다.

표현 | 표현

| = (비트 OR 할당)

Transact-SQL 문 내에서 이진 식으로 변환 된 두 정수 값간에 비트 논리 OR 연산을 수행하는 데 사용됩니다. 또한 작업의 출력에 값을 설정합니다.

식 | = 식

^ (비트 별 배타적 OR)

두 정수 값간에 배타적 비트 OR 연산을 수행하는 데 사용됩니다.

표현 ^ 표현

^ = (비트 배타적 OR 할당)

두 정수 값간에 배타적 비트 OR 연산을 수행하는 데 사용됩니다. 또한 작업의 출력에 값을 설정합니다.

표현 ^ = 표현

~ (비트 NOT)

정수 값에 대해 비트 논리 NOT 연산을 수행하는 데 사용됩니다.

~ 표현

비교 연산자

운영자 의미 통사론

=

동일

표현 = 표현

>

보다 큰

표현> 표현

<

이하

표현

> =

크거나 같음

식> = 식

<=

작거나 같음

표현<= expression

같지 않음

표현 표현

! =

같지 않음

표현! = 표현

!<

적어도

표현 !

!>

보다 크지 않음

표현!> 표현

복합 연산자

운영자 의미 통사론

+ =

원래 값에 값을 추가하고 결과에 원래 값을 설정하는 데 사용됩니다.

표현 + = 표현

-=

원래 값에서 값을 빼고 원래 값을 결과로 설정하는 데 사용됩니다.

식-= 식

* =

값을 원래 값에 곱하고 원래 값을 결과로 설정하는 데 사용됩니다.

식 * = 식

/ =

원래 값에서 값을 나누고 원래 값을 결과로 설정하는 데 사용됩니다.

표현 / = 표현

% =

원래 값에서 값을 나누고 원래 값을 결과로 설정하는 데 사용됩니다.

표현식 % = 표현식

& =

비트 AND 연산을 수행하고 원래 값을 결과로 설정하는 데 사용됩니다.

식 & = 식

^ =

비트 배타적 OR 연산을 수행하고 원래 값을 결과로 설정하는 데 사용됩니다.

표현 ^ = 표현

| =

비트 OR 연산을 수행하고 원래 값을 결과로 설정하는 데 사용됩니다.

식 | = 식

논리 연산자

운영자 의미 통사론

모두

모든 비교 세트가 TRUE이면 TRUE를 반환합니다.

스칼라 _ 표현식! = ALL (하위 쿼리)

두식이 모두 TRUE이면 TRUE를 반환합니다.

부울 _ 표현식 AND 부울 _ 표현식

어떤

비교 세트 중 하나가 TRUE이면 TRUE를 반환합니다.

스칼라 식! = {임의} (하위 쿼리)

중에서

피연산자가 범위 내에 있으면 TRUE를 반환합니다.

sampleexpression [NOT] BETWEEN beginexpression과 endexpression

존재

하위 쿼리에 행이 포함되어 있으면 TRUE를 반환합니다.

EXISTS (하위 쿼리)

피연산자가 표현식 목록 중 하나와 같으면 TRUE를 반환합니다.

테스트 _ 표현식 [NOT] IN (하위 쿼리 | 표현식 [,… n])

처럼

피연산자가 패턴과 일치하면 TRUE를 반환합니다.

match_expression [NOT] LIKE 패턴 [ESCAPE escape_character]

아니

부울 연산자의 값을 반전합니다.

[NOT] 부울 _ 표현식

또는

부울 표현식 중 하나가 TRUE이면 TRUE를 반환합니다.

부울 _ 식 또는 부울 _ 식

약간

비교 집합 중 일부가 TRUE이면 TRUE를 반환합니다.

스칼라 _ 표현식<= { SOME} ( subquery )

범위 해결 연산자

운영자 의미

::

복합 데이터 유형의 정적 멤버에 대한 액세스를 제공합니다. 복합 데이터 유형은 여러 메소드와 단순 데이터 유형을 포함하는 데이터 유형입니다. 복합 데이터 형식 여기에는 기본 제공 CLR 형식과 사용자 지정 SQLCLR UDT (사용자 정의 형식)가 포함됩니다.

DECLARE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

집합 연산자

주로 세 가지 집합 작업이 있습니다.노동 조합,교차,마이너스. 아래 이미지를 참조하여 SQL의 집합 연산을 이해할 수 있습니다. 아래 이미지를 참조하십시오.

운영자 의미 통사론

노동 조합

UNION 연산자는 둘 이상의 SELECT 문의 결과 집합을 결합하는 데 사용됩니다.

Table1에서 ColumnName (s) 선택
노동 조합
SELECT ColumnName (s) FROM Table2

교차

INTERSECT 절은고르다두 SELECT 문의 데이터 세트의 교차점을 반환합니다.

SELECT Column1, Column2….
TableName에서
WHERE 조건
교차
SELECT Column1, Column2….
TableName에서
WHERE 조건

EXCEPT 연산자는 첫 번째 SELECT 작업에서 반환되고 두 번째 SELECT 작업에서 반환되지 않는 튜플을 반환합니다.

열 이름 선택
TableName에서

열 이름 선택
TableName에서

문자열 연산자

운영자 의미 구문 / 예제

+ (문자열 연결)

둘 이상의 이진 또는 문자열, 열 또는 문자열과 열 이름의 조합을 단일 표현식으로 연결합니다.

표현 + 표현

+ = (문자열 연결)

두 문자열을 연결하는 데 사용되며 문자열을 작업 결과로 설정합니다.

표현 + = 표현

% (일치 할 와일드 카드 문자)

0 개 이상의 문자열과 일치하는 데 사용됩니다.

예 :‘sample %’

[] (일치 할 와일드 카드 문자)

지정된 범위 내의 단일 문자 또는 대괄호 [] 사이에 지정된 집합을 일치시키는 데 사용됩니다.

예 : m [n-z] %’

[^] (일치 할 와일드 카드 문자)

대괄호 사이에 지정된 범위 또는 집합 내에 있지 않은 단일 문자를 일치시키는 데 사용됩니다.

예 :‘Al [^ a] %’

_ (일치 할 와일드 카드 문자)

문자열 비교 작업에서 단일 문자를 일치시키는 데 사용됩니다.

테스트 _ 표현식 [NOT] IN (하위 쿼리 | 표현식 [,… n])

골재 기능

다른 집계 함수 SQL Server에서 지원하는 것은 다음과 같습니다.

함수 기술 통사론

합집합()

값 그룹의 합계를 반환하는 데 사용됩니다.

TableName에서 SUM (ColumnName) 선택

StudentsInfo에서 SUM (마크) 선택

카운트()

조건에 따라 또는 조건없이 행 수를 반환합니다.

SELECT COUNT (ColumnName) FROM TableName WHERE 조건

StudentsInfo에서 COUNT (StudentID) 선택

AVG ()

숫자 열의 평균 값을 계산하는 데 사용됩니다.

TableName에서 AVG (ColumnName) 선택

StudentsInfo에서 AVG (마크) 선택

MIN ()

이 함수는 열의 최소값을 반환합니다.

TableName에서 MIN (ColumnName) 선택

StudentsInfo에서 MIN (마크) 선택

MAX ()

열의 최대 값을 반환합니다.

TableName에서 MAX (ColumnName) 선택

StudentsInfo에서 MAX (마크) 선택

먼저()

열의 첫 번째 값을 반환하는 데 사용됩니다.

TableName에서 FIRST (ColumnName) 선택

StudentsInfo에서 첫 번째 (마크) 선택

마지막()

이 함수는 열의 마지막 값을 반환합니다.

테이블 이름에서 LAST (ColumnName) 선택

StudentsInfo에서 LAST (마크) 선택

사용자 정의 함수

Microsoft SQL Server를 사용하면 사용자가 루틴 인 사용자 정의 함수를 만들 수 있습니다. 이러한 루틴은 매개 변수를 받아들이고 단순하거나 복잡한 작업을 수행하고 특정 작업의 결과를 값으로 반환 할 수 있습니다. 여기서 반환되는 값은 단일 스칼라 값이거나 전체 결과 집합 일 수 있습니다.

사용자 정의 함수를 사용하여 다음을 수행 할 수 있습니다.

  • 모듈 식 프로그래밍 허용
  • 네트워크 트래픽 감소
  • 빠른 쿼리 실행 허용

또한 생성 할 수있는 다양한 유형의 사용자 정의 함수가 있습니다. 그들은:

  • 스칼라 함수 : 사용RETURNS 절에 정의 된 유형의 단일 데이터 값을 반환합니다.
  • 테이블 반환 함수 : 사용반환데이터 형식.
  • 시스템 기능 : SQL Server는 다양한 작업을 수행하기 위해 다양한 시스템 기능을 제공합니다.

사용자 정의 함수와 별도로 SQL Server에는 다양한 작업을 수행하는 데 사용할 수있는 내장 함수가 많이 있습니다. SQL Server 자습서에 대한이 기사에서 이제 중첩 된 쿼리가 무엇인지 이해하겠습니다.

중첩 된 쿼리

중첩 된 쿼리 외부 쿼리와 내부 하위 쿼리가있는 쿼리입니다. 따라서 기본적으로 하위 쿼리는 SELECT, INSERT, UPDATE 또는 DELETE와 같은 다른 쿼리 내에 중첩 된 쿼리입니다. 아래 이미지를 참조하십시오.

다음으로이 SQL Server 자습서에서는 SQL에서 다양한 유형의 조인을 이해하겠습니다.

조인

테이블 간의 관련 열을 기반으로 두 개 이상의 테이블에서 튜플을 결합하는 데 사용됩니다. 조인에는 네 가지 유형이 있습니다.

  • 내부 조인 : 두 테이블 모두에서 일치하는 값이있는 레코드를 반환합니다.
  • LEFT JOIN : 왼쪽 테이블의 레코드와 오른쪽 테이블의 조건을 만족하는 레코드를 반환합니다.
  • 올바른 가입 : 오른쪽 테이블의 레코드와 왼쪽 테이블의 조건을 충족하는 레코드를 반환합니다.
  • 완전 가입 : 왼쪽 또는 오른쪽 테이블에서 일치하는 레코드를 반환합니다.

조인 구문을 이해하려면 StudentsInfo 테이블과 함께 다음 테이블을 고려하십시오.

SubjectID 학생 아이디 SubjectName
1010수학
2열한물리학
12화학

내부 조인

통사론

열 이름 선택 Table1에서 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

주제에서 Subjects.SubjectID, StudentsInfo.StudentName 선택 INNER JOIN Subjects.StudentID = StudentsInfo.StudentID

LEFT JOIN

통사론

열 이름 선택 Table1에서 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

StudentsInfo에서 StudentsInfo.StudentName, Subjects.SubjectID 선택 LEFT StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName의 주제 가입

오른쪽 조인

통사론

열 이름 선택 Table1에서 Table1.ColumnName = Table2.ColumnName에서 Table2에 오른쪽 조인

StudentsInfo.StudentName, Subjects.SubjectID 선택 StudentsInfo RIGHT JOIN Subjects on StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

완전 가입

통사론

열 이름 선택 Table1에서 Table1.ColumnName = Table2.ColumnName의 전체 외부 조인 Table2

StudentsInfo.StudentName, Subjects.SubjectID를 선택하세요 StudentsInfo FULL OUTER Join Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

다음으로 SQL Server 자습서에 대한이 기사에서는 SQL Server에서 지원하는 다양한 유형의 루프를 이해하겠습니다.

루프

다른 흐름 제어 명령은 다음과 같습니다.

그들 각각에 대해 하나씩 논의합시다.

BEGIN..END

이러한 키워드는 일련의 SQL 문을 묶는 데 사용됩니다. 그런 다음이 SQL 문 그룹을 실행할 수 있습니다.

통사론

BEGIN StatementBlock END

단절

이 문은 현재 WHILE 루프를 종료하는 데 사용됩니다. 현재 WHILE 루프가 다른 루프 내에 중첩 된 경우 BREAK 문은 현재 루프 만 종료하고 제어는 현재 루프의 다음 문으로 전달됩니다. BREAK 문은 일반적으로 IF 문 내에서 사용됩니다.

통사론

자바에서 트림 메소드를 사용하는 방법
단절

계속하다

CONTINUE 문은 WHILE 루프를 다시 시작하는 데 사용됩니다. 따라서 CONTINUE 키워드 뒤의 모든 문은 무시됩니다.

통사론

계속하다

여기서 Label은 GOTO가 특정 레이블을 대상으로하는 경우 처리가 시작되는 지점입니다.

GOTO

레이블에 대한 실행 흐름을 변경하는 데 사용됩니다. GOTO 키워드 뒤에 작성된 명령문은 건너 뛰고 레이블에서 처리가 계속됩니다.

통사론

레이블 정의 : 레이블 : 변경 실행 : GOTO 레이블

여기서 Label은 GOTO가 특정 레이블을 대상으로하는 경우 처리가 시작되는 지점입니다.

다른 경우라면

다른 프로그래밍 언어와 마찬가지로 SQL Server의 If-else 문은 조건을 테스트하고 조건이 false이면 'else'문이 실행됩니다.

통사론

IF BooleanExpression StatementBlock [ELSE StatementBlock]

반환

쿼리 또는 프로 시저에서 무조건 종료하는 데 사용됩니다. 따라서 RETURN 절 이후에 작성된 문은 실행되지 않습니다.

통사론

RETURN [IntegerExpression]

여기에서 정수 값이 반환됩니다.

기다립니다

WAITFOR 제어 흐름은 특정 문이 수정되고 적어도 하나의 행을 반환하거나 지정된 시간 또는 시간 간격이 경과 할 때까지 저장 프로 시저, 트랜잭션 또는 일괄 처리의 실행을 차단하는 데 사용됩니다.

통사론

WAITFOR (GetConversionGroupStatement)] [, TIMEOUT 시간 초과]

어디,

  • 지연 – 반드시 지나야하는 시간
  • TimeToPass – P기다릴 시간
  • 시각저장 프로 시저, 트랜잭션 또는 일괄 처리가 실행되는 시간입니다.
  • TimeToExecuteWAITFOR 문이 완료되는 시간입니다.
  • RecieveStatement -에유효한 RECEIVE 문.
  • GetConversionGroupStatement -에유효한 GET CONVERSATION GROUP 문.
  • TIMEOUT 시간 초과 - 메시지가 큐에 도착할 때까지 기다리는 시간 (밀리 초)을 지정합니다.

동안

이 루프는 특정 SQL 문 또는 SQL 문 블록의 반복 실행 조건을 설정하는 데 사용됩니다. 사용자가 언급 한 조건이 TRUE이면 명령문이 실행됩니다. 조건이 실패하면 루프 실행이 중지됩니다.

통사론

WHILE BooleanExpression StatementBlock

이제 DML 명령에 대해 알았으니 다음 섹션으로 넘어가겠습니다.SQL Tutorial, 즉 DCL 명령에 대한이 기사에서.

데이터 제어 언어 명령 (DCL)

SQL Server 자습서의이 섹션에서는 여러 사용자 데이터베이스 환경에서 데이터베이스 보안을 적용하는 데 사용되는 명령에 대한 아이디어를 제공합니다. 명령은 다음과 같습니다.

부여

GRANT 명령은 데이터베이스 및 해당 개체에 대한 액세스 또는 권한을 사용자에게 제공하는 데 사용됩니다.

통사론

RoleName에 ObjectName의 PrivilegeName 권한 부여 [WITH GRANT OPTION]

어디,

  • PrivilegeName – 사용자에게 부여 된 권한 / 권한 / 액세스입니다.
  • ObjectName – TABLE / VIEW / STORED PROC와 같은 데이터베이스 개체의 이름.
  • 사용자 이름 – 액세스 / 권한 / 권한이 부여 된 사용자의 이름입니다.
  • 공공의 – 모든 사용자에게 액세스 권한을 부여합니다.
  • RoleName – 함께 그룹화 된 권한 집합의 이름.
  • GRANT 옵션 포함 – 사용자에게 권한을 부여하여 다른 사용자에게 액세스 권한을 부여합니다.

-StudentsInfo 테이블에 대한 SELECT 권한을 user1에게 GRANT SELECT ON StudentsInfo TO user1

취소

REVOKE 명령은 GRANT 명령을 사용하여 주어진 사용자의 액세스 권한을 철회하는 데 사용됩니다.

통사론

PUBLIC에서 ObjectName에 대한 PrivilegeName 취소

-user1에게 부여 된 권한을 취소하려면 REVOKE SELECT ON StudentsInfo TO user1

이 SQL Server 자습서에서 저장 프로 시저를 만들고 사용하는 방법을 이해하겠습니다.

저장 프로 시저

저장 프로 시저 애플리케이션의 특정 비즈니스 로직을 캡슐화하는 재사용 가능한 단위입니다. 따라서 특정 작업을 수행하기 위해 함께 컴파일 및 저장되는 SQL 문 및 논리 그룹입니다.

통사론

CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter_name [IN | OUT | IN OUT] type [])] IS BEGIN [declaration_section] executable_section // 저장 프로 시저에서 사용되는 SQL 문 END GO

-스토어드 프로 시저에 대한 입력 매개 변수로 StudentId가 제공 될 때 학생 이름을 리턴하는 프로 시저를 작성하십시오. Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

실행 단계 :

      • @StudName을 nvarchar (50)로 선언
      • EXEC GetStudentName 01, @StudName 출력
      • @StudName 선택

위의 절차는 특정 학생의 이름을 반환합니다.학생 ID를 입력으로 제공합니다. 다음으로이 SQL Server 자습서에서는 트랜잭션 제어 언어 명령을 이해하겠습니다.

트랜잭션 제어 언어 명령 (TCL)

SQL Server 자습서의이 섹션에서는 데이터베이스에서 트랜잭션을 관리하는 데 사용되는 명령에 대한 통찰력을 제공합니다.명령은 다음과 같습니다.

범하다

COMMIT 명령은 트랜잭션을 데이터베이스에 저장하는 데 사용됩니다.

통사론

범하다

롤백

ROLLBACK 명령은 데이터베이스를 마지막 커밋 된 상태로 복원하는 데 사용됩니다.

통사론

롤백

노트: SAVEPOINT와 함께 ROLLBACK을 사용하면 진행중인 트랜잭션에서 저장 점으로 직접 이동할 수 있습니다. 구문 : ROLLBACK TO SavepointName

SAVEPOINT

SAVEPOINT 명령은 트랜잭션을 임시로 저장하는 데 사용됩니다. 따라서 원하는 지점으로 롤백하려면 해당 지점을 'SAVEPOINT'로 저장할 수 있습니다.

통사론

SAVEPOINT SAVEPOINTNAME

데이터베이스의 트랜잭션 작업을 이해하려면 아래 표를 고려하십시오.

학생 아이디 학생 이름
하나Rohit
2수 하나
Ashish
4Prerna

이제 아래를 사용하십시오 데이터베이스의 트랜잭션을 이해합니다.

INSERT INTO StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash'WHERE id = '5'SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT INTO StudentTable VALUES (8,'Veena ') SAVEPOINT S4 SELECT * FROM StudentTable

SQL Server 자습서에 대한이 문서의 다음 부분에서는 Transact-SQL에서 예외를 처리하는 방법을 이해하게됩니다.

예외 처리

두 가지 유형의 예외, 즉 시스템 정의 예외와 사용자 정의 예외가 있습니다. 이름에서 알 수 있듯이 예외 처리는 사용자가 생성 된 예외를 처리 할 수있는 프로세스입니다. 예외를 처리하려면 다음 제어 흐름 문을 이해해야합니다.

던지다

이 절은 예외를 발생시키고 실행을 TRY… CATCH 구문의 CATCH 블록으로 전송하는 데 사용됩니다.

통사론

THROW [ErrorNumber, @localvariable, State] []

어디,

  • ErrorNumber -에예외를 나타내는 상수 또는 변수입니다.
  • 메시지 -에예외를 설명하는 변수 또는 문자열입니다.
  • 상태 -메시지와 연결할 상태를 나타내는 0에서 255 사이의 상수 또는 변수입니다.
THROW 51000, '레코드가 존재하지 않습니다.', 1

TRY..CATCH

Transact-SQL에서 예외 처리를 구현하는 데 사용됩니다. 명령문 그룹은 TRY 블록으로 묶을 수 있습니다. TRY 블록에서 오류가 발생하면 CATCH 블록에 포함 된 다른 명령문 그룹으로 제어가 전달됩니다.

통사론

BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH

이제 SQL Server 자습서에 대한이 기사의 끝 부분에 도달했습니다. 초보자를위한 SQL Server 자습서에서이 기사를 즐겁게 읽으 셨기를 바랍니다.나는 MySQL에 대한 구조화 된 교육을 받고 싶다면 강사 주도의 라이브 교육 및 실제 프로젝트 경험과 함께 제공됩니다. 이 교육은 MySQL을 심층적으로 이해하고 주제에 대한 숙달을 달성하는 데 도움이됩니다. 질문이 있으십니까? ”의 댓글 섹션에 언급하십시오. SQL Server 자습서 ”그러면 다시 연락 드리겠습니다.