SQL - 집계함수, SELECT문 연산 순서, 행 수 제한, ROWID

2023. 3. 13. 14:41SQLD 정리

반응형

집계함수

COUNT(*), COUNT(컬럼명) >>> COUNT(*)은 NULL을 포함, COUNT(컬럼명)은 NULL 제외

 

SUM( [DISTICT | ALL] 컬럼명 ) >>> 합계

 

AVG( [DISTICT | ALL] 컬럼명 )  >>> 평균

 

MAX( [DISTICT | ALL] 컬럼명 ) >>> 최댓값

 

MIN( [DISTICT | ALL] 컬럼명 ) >>> 최소값

 

STDDEV( [DISTICT | ALL] 컬럼명 ) >>> 표준편차

 

VARIAN( [DISTICT | ALL] 컬럼명 ) >>> 분산

 

참고) 

NULL에 대한 연산 결과는 모두 NULL이다. 통계적 집계함수를 연산할때 NULL은 제외하고 계산한다.

ex) NULL * 10 = NULL

 

SELECT문 연산 순서

SELECT 컬럼명

FROM 테이블명 AS 별명

WHERE 컬럼명 = 조건

GROUP BY 컬럼명

HAVING 조건

ORDER BY 컬럼명;

 

위의 SQL에서 실행되는 순서는 다음과 같다.

FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY

 

행 수 제한

만약 출력하는 SELECT문에서 1행만 출력하고 싶으면 다음과 같이 행 수를 제한할 수 있다.

 

ORACLE >>> SELECT * FROM 테이블명 WHERE ROWNUM = 1;

-ORACLE은 ROWNUM을 통해서 몇번째 행을 출력할건지 지정 가능하다.

 

SQL SERVER >>> SELECT TOP(1) FROM 테이블명;

-SQL SERVER는 위에서 몇개를 출력할건지 TOP을 통해 지정 가능하다.

 

MYSQL >>> SELECT FROM 테이블명 LIMIT 1;

-MYSQL은 LIMIT을 통해서 위에서부터 몇개를 출력할지 지정 가능하다.

참고)  LIMIT에 LIMIT 5, 10 와 같이 숫자를 두개 작성할 수 있다.

LIMIT 5, 10는 6번째 행에서 부터 10개 출력한다는 의미이다. 

즉, 앞에 숫자는 0부터 시작해서 몇번째 행인지 나타내는거고 두번째 숫자는 그 시작되는 행부터 몇개를 출력할지를 나타내는거다. 

 

ROWID

- 해당 데이터가 어떤 데이터 파일 상에서 어느 블록에 저장되었는지 알려준다.

- 데이터베이스에 저장되어 있는 데이터를 구분할 수 있는 유일한 값이다.
- ROWID의 번호는 데이터 블록에 데이터가 저장된 순서이다.

- 데이블에 더이터를 입력하면 자동으로 생성된다.

 

 

 

 

 

 

 

 

 

 

 

반응형

'SQLD 정리' 카테고리의 다른 글

SQL - 계층형 조회  (0) 2023.03.14
SQL - JOIN 조인  (0) 2023.03.13
SQL - Group By  (0) 2023.03.13
SQL - NULL 관련 함수  (0) 2023.03.12
SQL - WHERE 절에 들어가는 연산자  (0) 2023.03.10