CS/Data Base

[DB] SQL 기초 - 3 (일부 결과값 조회 및 집합함수)

hojak99 2017. 6. 14. 18:53
결과값 일부 조회 (ROWNUM, TOP)
  • SQL 쿼리 결과 중 상위 몇 개만 보여주는 쿼리
  • SELECT 컬럼명 1, 컬럼명 2, ... FROM 테이블명 WHERE 조건절 LIMIT 숫자
  • 대표적인 비표준기능 (DBMS 종류마다 다름)

예제
- 국가코드가 'KOR' 인 도시들 중 인구수 많은 순서로 상위 10개만 표시하시오

결과 확인
- SELECT CountryCode FROM city WHERE CountryCode = 'KOR' ORDER BY Population DESC LIMIT 10;




집합함수 (Aggregation Function)
  • 테이블의 전체 레코드를 대상으로 특정 컬럼을 적용해서 한 개의 값을 리턴하는 함수
  • COUNT(), AVG(), SUM(), MIN(), MAX(), FIRST(), LAST(), ....
     - COUNT()   ->  레코드의 개수를 리턴하는 함수
     - SUM() / AVG()   ->   컬럼값의 합/평균을 리턴
     - MIN() / MAX()   ->   컬럼값의 최소/최대값을 리턴

사용법 : SELECT aggregation_function(컬럼명) FROM 테이블명 WHERE 조건절

예제
- City 테이블에서 국가코드가 'KOR' 인 도시의 수를 표시하시오
- City 테이블에서 국가코드가 'KOR' 인 도시들의 인구수 총합 / 평균을 구하시오
- City 테이블에서 국가코드가 'KOR' 인 도시들의 인구수 중 최대값 / 최소값을 구하시오

결과 확인
- SELECT COUNT(*) FROM city WHERE CountryCode = 'KOR'
- SELECT SUM(Population) FROM city WHERE CountryCode = 'KOR'
- SELECT AVG(Population) FROM city WHERE CountryCode = 'KOR'
- SELECT MIN(Population) FROM city WHERE CountryCode = 'KOR'
- SELECT MAX(Population) FROM city WHERE CountryCode = 'KOR'



유용한 함수들

  • LENGTH() - 레코드의 문자열 컬럼의 글자수를 리턴한다.
  • MID() - 문자열의 중간부분을 리턴한다.
  • UPPER() / LOWER() - 문자열을 대문자/소문자로 리턴한다.
  • ROUND() - 레코드의 숫자 컬럼값을 반올림해서 리턴한다.


반응형