Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

SQL Server의 SELECT 명령

이 자습서는 구문 및 예제와 함께 SQL Server SELECT 문(T-SQL)을 사용하는 데 도움이 됩니다.

SELECT는 SQL Server 데이터베이스에 있는 하나 이상의 테이블에서 결과를 검색하는 데 사용되는 명령입니다.

구문 SELECT 문

단순한 형태로 SELECT 문의 구문은 다음과 같습니다.

 SELECT 'biểu thức' 
FROM 'bảng'
[WHERE 'điều kiện'];

전체 형식에서 SQL Server의 SELECT 명령 구문은 다음과 같습니다.

  SELECT [ALL |  DISTINCT] 
[TOP (gia_tri_dau) [PERCENT] [WITH TIES]]
'Expression'
FROM 'table'
[WHERE 'condition']
[GROUP BY 'expression']
[HAVING 'condition']
[ORDER BY 'expression' [ASC | DESC]];

변수 이름 또는 변수 값

전체 - 옵션, 일치하는 모든 항목을 반환합니다.

DIISTINCT - 선택 사항입니다. 결과 집합에서 모든 중복 값을 제거합니다.

상단 (gia_tri_dau) - 선택 사항입니다. 지정된 경우 선택한 gia_tri_dau를 기반으로 결과 집합의 첫 번째 값을 반환합니다. . 예를 들어 TOP(10)은 결과 집합의 처음 10개 행을 반환합니다.

PERCENT - 선택 사항입니다. 지정된 경우 첫 번째 행은 결과 집합의 백분율을 기반으로 합니다(gia_tri_dau로 표시됨). ). 예를 들어 TOP (10) PERCENT는 결과 집합에서 첫 번째 결과의 상위 10%를 반환합니다.

타이로 - 옵션. 지정된 경우 제한된 결과의 끝에 고정된 행이 반환됩니다. 이로 인해 TOP에서 허용하는 것보다 더 많은 행이 반환될 수 있습니다.

표현식 - 검색하려는 열 또는 계산된 값입니다. * 사용 모든 열을 얻으려면

- 결과를 얻으려는 테이블. FROM 명령에 적어도 하나의 테이블이 나열되어야 합니다.

WHERE '조건' - 옵션. 반환된 결과가 충족해야 하는 조건입니다.

GROUP BY '표현식' - 선택 사항입니다. 하나 이상의 열에 있는 여러 레코드 및 결과 그룹에서 데이터를 수집합니다.

'조건'이 있음 - 옵션. GROUP BY와 함께 사용 조건이 TRUE로 충족될 때 반환되는 행 그룹을 제한합니다.

ORDER BY '표현식' - 선택 사항입니다. 결과 집합을 필터링하는 데 사용됩니다. ASC 오름차순으로 필터링하고 DESC 내림차순으로 필터링됩니다.

예:테이블의 모든 필드 선택

  SELECT * 
FROM hangtonkho
WHERE soluong> 5
ORDER BY hangtonkho_id ASC;

이 예에서 * 모든 hangtonkho 필드가 hangtonkho에서 5보다 클 것임을 나타내는 데 사용됩니다. 테이블. 결과 집합은 hangtonkho_id의 오름차순으로 정렬됩니다.

예 - 테이블에서 일부 필드 선택

  SELECT hangtonkho_id, hangtonkho_type, soluong 
FROM hangtonkho
WHERE hangtonkho_id> = 555
AND hangtonkho_type = 'phanmem'
ORDER BY soluong DESC, hangtonkho_id ASC;

위의 예에서 반환된 결과에는 ID가 더 큰 경우 hangtonkho 테이블의 인벤토리 ID, 유형 및 수량(hangtonkho_id, hangtonkho_type 및 soluong)만 포함됩니다. 555 이상인 경우 인벤토리 유형은 'phanmem'입니다. 결과는 내림차순으로 정렬되고 인벤토리 ID가 증가합니다.

예 - 여러 테이블에서 선택

  SELECT hangtonkhi.hangtonkho_id, sanpham.sanpham_ten, hangtonkho.soluong 
FROM hangtonkho
INNER JOIN sanpham
ON hangtonkho.sanpham_id = sanpham.sanpham_id
ORDER BY hangtonkho_id;

이 예에서 두 테이블에서 결과 집합을 가져와 hangtonkho_id, sanpham_ten 및 soluong을 생성합니다. hangtonkho 테이블과 패널은 동일해야 합니다. 결과는 hangtonkho_id의 오름차순으로 정렬됩니다.

예 - 키워드 TOP 사용

  SELECT TOP (3) 
hangtonkho_id, hangtonkho_type, soluong
FROM hangtonkho
WHERE hangtonkho_type = 'phanmem'
ORDER BY hangtonkho_id ASC;

이 예에서 결과는 인벤토리 유형이 'phanmem'인 hangtonkho 테이블의 처음 3개 값을 반환합니다. 요구 사항을 충족하는 다른 값이 있는 경우 반환되지 않습니다.

예 - 키워드 TOP PERCENT 사용

  SELECT TOP (10) PERCENT 
hangtonkho_id, hangtonkho_type, soluong
FROM hangtonkho
WHERE hangtonkho_type = 'phanmem'
ORDER BY hangtonkho_id ASC;

반환된 결과는 hangtonkho 테이블의 'phanmem' 인벤토리에 있는 첫 번째 값의 10%로 구성됩니다. 나머지 결과의 90%는 반환되지 않습니다.