2023. 3. 13. 14:41ㆍSQLD 정리
집계함수
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 |