데이터 정렬
ORDER BY 절은 데이터를 지정된 순서(순서 데이터)로 정렬합니다. 열 위치를 지정하려면 열 이름 목록이나 음수가 아닌 정수 목록이 필요합니다. 오름차순을 나타내려면 ASC를 사용하고 내림차순을 나타내려면 DESC를 사용합니다. 기본값은 ASC입니다.
반환되는 행 수 제한
WHERE 절을 사용하지 않고도 결과의 행 수를 제한할 수 있습니다. "TOP" 절은 지정된 수 또는 백분율로 행 수를 제한할 수 있습니다.
데이터 그룹화 및 집계 함수 계산
집계 함수는 테이블에 있는 데이터의 합계를 계산합니다. SQL Server는 다음과 같은 집계 함수를 제공합니다.
· AVG 이 함수는 평균을 계산합니다. 구문은 다음과 같습니다.
AVG([ALL | DISTINCT] exPRession)
DISTINCT 키워드는 서로 다른 값의 평균을 계산하는 데만 사용됩니다. 한 번 계산되며 기본값은 ALL입니다.
표현식은 하나 이상의 열을 포함하는 산술 표현식일 수 있습니다.
· MIN 이 함수는 제공된 표현식에서 최소값을 찾습니다. 구문은 다음과 같습니다.
MIN(표현식)
· MAX 이 함수의 기능은 제공된 표현식에서 최대값을 찾는 것입니다. 구문은 다음과 같습니다.
MAX(표현식)
참고: 로컬 문자열 유형이 MIN 및 MAX를 사용하는 경우 출력은 SQL Server에 정의된 순서에 따라 달라집니다. MIN 및 MAX는 비트에 사용할 수 없습니다.
· SUM SUM은 모든 데이터 값의 합을 계산합니다. 구문은 다음과 같습니다.
SUM ([ALL | DISTINCT] 표현식)
참고: SUM 및 AVG는 숫자 데이터 유형에만 사용할 수 있습니다.
· COUNT 표현식 값의 개수를 셉니다. 구문은 다음과 같습니다.
COUNT ([ALL | DISTINCT] 표현식)
COUNT에는 또 다른 사용법이 있으며, 선택한 행 수를 반환할 수 있습니다.
예: SELECT NumRows = COUNT (*) FROM titles
집계 함수는 COUNT(*)를 제외한 모든 null 값을 무시합니다. 모든 집계 함수는 NULL 값이 없는 것을 기준으로 계산하지만 COUNT(*)는 모든 행(NULL 값이 있는 행 포함)을 계산합니다.
1. GROUP BY 절
GROUP BY 절은 정의된 데이터를 기반으로 더 작은 그룹을 생성하고 각 그룹에 대해 집계 함수 계산을 수행합니다. 즉, 각 그룹에 대한 전반적인 정보를 생성합니다. GROUP BY는 둘 이상의 열을 그룹화 열(그룹화 열)로 처리할 수 있습니다. 결합된 열의 고유값에 대한 정보를 요약합니다.
GROUP BY 절을 사용하는 선택 목록에는 다음 항목만 포함될 수 있습니다.
· 상수 값.
· 결합된 열.
·표현. 각 표현식은 집계 함수와 같이 각 그룹에 대한 값을 반환합니다. 열이 결합된 열에 있을 뿐만 아니라 선택 목록에도 있는 경우에는 결합된 열의 각 고유 값에 대해 여러 값이 있는 경우 이 구조 유형은 허용되지 않습니다.
2. GROUP BY 및 HAVING
HAVING 절은 GROUP BY 절을 사용하는 쿼리에 데이터 필터링 기준을 추가하는 데 사용됩니다. HAVING의 사용법은 SELECT의 WHERE 절과 동일합니다. GROUP BY 절이 포함된 쿼리에서 WHERE 절을 사용할 수 있습니다. HAVING과 WHERE는 동일한 구문을 갖습니다. HAVING과 WHERE의 차이점은
· WHERE 절에서는 조건에 맞지 않는 행을 그룹화하기 전에 제거하고, HAVING 절에서는 그룹화 후에 조건을 적용합니다.
· HAVING은 조건에 집계 함수를 포함할 수 있지만 WHERE는 포함할 수 없습니다.
참고: GROUP BY 및 HAVING 절은 텍스트 또는 이미지 데이터 유형을 사용할 수 없습니다.
3. COMPUTE BY 절
COMPUTE BY 절을 사용하면 세부 기록이나 전체 기록을 얻을 수 있습니다. 데이터를 더 작은 그룹으로 나눈 후 각 그룹에 대한 자세한 기록 결과 데이터 세트를 생성합니다(예: SELECT). 또한 각 그룹에 대한 전체 레코드를 생성할 수 있습니다(예: GROUP BY).
COMPUT BY에서는 BY 절을 정의할 필요가 없습니다. BY 절이 정의되지 않으면 전체 테이블이 하나의 그룹으로 간주되어 두 개의 결과 데이터 세트만 생성됩니다. 하나는 모든 세부 레코드를 포함하고 다른 하나는 전체 레코드를 포함하는 하나의 행만 포함합니다.
참고: COMPUTE에서 BY를 사용하는 경우 결합된 모든 열에 ORDER BY를 포함해야 합니다.
큐브 및 롤업 작업
CUBE 및 ROLLUP 작업은 단순한 GROUP BY보다 더 많은 집계 값을 생성할 수 있습니다. 이러한 작업은 크로스탭 보고서를 생성할 때 유용합니다. 쿼리에서 n개의 조합 열을 사용하는 경우 집계를 계산하는 데 2n개의 조합이 있습니다.
여러 테이블의 데이터에 액세스
단일 테이블의 데이터에 액세스하는 방법을 논의했습니다. 여러 테이블의 데이터에 액세스하는 것도 가능합니다. 여러 테이블의 데이터에 액세스하는 것을 테이블 조인이라고 합니다.
1. CROSS JOIN(데카르트 곱)
CROSS JOIN은 아무런 제약 없이 단순히 테이블을 결합합니다. CROSS JOIN 이후 결과의 행 수는 조인된 처음 두 테이블의 행 수를 곱한 것입니다. 각각 수천 개의 행이 있는 두 테이블을 조인하면 결과는 상상할 수 없습니다.
2. INNER JOIN
INNER JOIN은 두 테이블을 결합하는 데 가장 일반적으로 사용되는 방법입니다. INNER JOIN은 연결 조건이라고 불리는 판별식을 기반으로 합니다. 조인 조건은 WHERE 절과 함께 정의됩니다. 조인 조건은 두 테이블의 열로 구성되며 비교 조건을 사용하여 열 값을 비교합니다. 비교를 통과한 값은 결과 데이터세트에 포함되며, Inner JOIN 구문은 다음과 같습니다.
구문 1: (ANSI 92)
Select
FROM
ON
구문 2:
FROM < table1>,
FROM 절에 테이블에 대한 별칭을 정의할 수 있습니다. 어디에서나 실명 대신 사용됩니다.
참고: 조인 조건으로 사용된 열에 Null 값이 있는 경우 Null 값은 어떤 값과도 일치할 수 없으므로 결과에는 Null 값이 있는 행이 포함되지 않습니다.
3. Left Outer JOIN
Inner JOIN에서는 두 테이블에서 일치하는 행만 결과 데이터 세트에 포함될 수 있습니다. 그러나 Left Outer JOIN에서는 왼쪽 테이블의 모든 행이 결과 데이터 세트에 나타납니다. 왼쪽 테이블의 행과 오른쪽 테이블의 일치하는 행이 없으면 null 값을 사용하여 오른쪽 테이블의 값을 대체합니다. 그리고 가입하세요.
구문은 다음과 같습니다. (ANSI 92)
FROM
ON
4. Right Outer JOIN
Right Outer JOIN은 오른쪽 테이블이 외부 테이블로 사용된다는 점을 제외하면 Left Outer JOIN과 유사합니다. 결과 데이터 세트에 포함됩니다).
구문은 다음과 같습니다.
FROM
ON
5. Full Outer JOIN
Full Outer JOIN에서는 두 테이블의 모든 행이 결과 데이터 세트에 포함됩니다.
구문은 다음과 같습니다.
FROM
ON
Case 문
조건에 따라 서로 다른 결과 값이 생성되는 경우 Case 문을 사용할 수 있습니다.
Case 문은 정의된 모든 조건을 계산하고 조건이 true인지 여부에 따라 결과를 반환합니다.
구문은 다음과 같습니다.
CASE [
WHEN
[ELSE
END
Input_expression 유효한 SQL Server 식 또는 부울 식입니다.
When_expression은 유효한 SQL Server 식 또는 부울 식입니다. 이 표현식은 Input_expression과 비교됩니다. Input_expression이 정의되지 않은 경우 When_expression은 부울 표현식이어야 합니다.
Result_expression은 유효한 SQL Server 식입니다. When_expression과 Input_expression의 비교가 TRUE를 반환하거나(Input_expression이 정의된 경우) When_expression이 TRUE로 평가되면 식이 평가되고 해당 결과가 반환됩니다. 그렇지 않으면 Else_expression의 식이 평가되고 그 결과가 반환됩니다.
예:
SELECT au_fname,au_lname,
State=CASE state
WHEN 'CA' THEN 'California'
WHEN 'KS' THEN 'Kansas'
END
FROM Author
UNION
UNION 문은 두 개 이상의 쿼리 결과를 결과 집합으로 결합합니다.
구문은 다음과 같습니다. SELECT
FROM
WHERE
UNION [ALL]
SELECT
FROM < ;table_list>
WHERE
ALL 키워드는 최종 결과 데이터 세트에도 중복 데이터가 포함되도록 지정합니다. 필요한 경우 쿼리에 UNION 문이 많이 있을 수 있습니다. 모든 Select_list는 동일한 수의 열을 가져야 하며 동일하거나 호환 가능한 데이터 유형이어야 합니다.
Go 명령 Go 명령은 쿼리 일괄 처리의 끝을 표시하는 데 사용됩니다. 쿼리 일괄 처리는 함께 실행되는 TSQL 문의 컬렉션입니다. Go는 Osql 또는 SQL Server 쿼리 분석기와 함께 작동합니다.
위 내용은 SQL Server 7.0 시작하기(Part 3) 내용입니다. 자세한 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!