1.     GROUP BY

  • GROUP BY는 테이블에서 소규모 행을 그룹화 해 합계, 평균, 최댓값, 최솟값 등을 계산할 수 있음

  • HAVING구에 조건문을 사용함

  • ORDER BY를 사용해 정렬을 할 수 있음

2.     HABING문 사용

  • GROUP BY 조건절을 사용하려면 HAVING을 사용해야 함

  • WHERE절에 조건문을 사용하게 되면 조건을 충족하지 못하는 데이터들을 GROUP BY 대상에서 제외 됨

3.     집계 함수 종류

  • COUNT() : 행 수를 조회함
  • SUM() : 합계를 계산함
  • AVG() : 평균을 계산함
  • MAX()MIN() : 최댓값과 최솟값을 계산함
  • STDDEV() : 표준편차를 계산함
  • VARIAN() : 분산을 계산함

4.     COUNT 함수

  • 행 수를 계산하는 함수

  • COUNT(*)NULL값을 포함한 모든 행수를 계산함

  • 하지만 COUNT(칼럼명)NULL값을 제외한 행 수를 계산함

 

1. SELECT문 실행 순서

  • SQL의 실행 순서는 결과로 조회된 데이터를 이해하는 데 아주 중요한 요소임

  • SELECT문의 실행 순서는 FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY 순으로 실행 됨

  • (FWGHSO, 프웨해셀오)

 

1. 명시적(Explicit) 형변환과 암시적(Implicit) 형변환

  • 형변환이란 두 개의 데이터의 데이터 타입이 일치하도록 변환하는 것

  • 명시적 형변환은 형변환 함수를 사용해 데이터 타입을 일치시키는 것, 개발자가 SQL을 사용할 때 형변환 함수를 사용해야 함

*형변환 함수

  • TO_NUMBER(문자열) : 문자열을 숫자로 변환함
  • TO_CHAR(숫자 혹은 날짜, [FORMAT]) : 숫자 혹은 날짜를 지정된 FORMAT의 문자로 변환함
  • TO_DATE(문자열, FORMAT) : 문자열을 지정된 FORMAT의 날짜형으로 변환함
  • 암시적 형변환은 개발자가 형변환을 하지 않은 경우 데이터베이스 관리 시스템이 자동으로 형변환 하는 것을 의미함

 

1.     내장형 함수(BUILT-IN Function)

  • 모든 데이터베이스는 SQL에서 사용할 수 있는 내장형 함수를 가지고 있음

  • 내장형 함수는 데이터베이스 관리 시스템 벤더별로 약간의 차이가 있지만, 거의 비슷한 방법으로 사용이 가능함

  • 내장형 함수로는 앞서 배운 형변환 함수, 문자열 및 숫자형 함수, 날짜형 함수가 있음

2.     DUAL 테이블

  • DUAL 테이블은 Oracle 데이터베이스에 의해서 자동으로 생성되는 테이블

  • Oracle 데이터베이스 사용자가 임시로 사용할 수 있는 테이블로 내장형 함수를 실행할 때도 사용할 수 있음

  • Oracle 데이터베이스의 모든 사용자가 사용할 수 있음

3.     내장형 함수의 종류

l  문자열 함수

  • ASCII(문자) : 문자 혹은 숫자를 ASCII 코드값으로 변환함

  • CHAR(ASCII 코드값) : ASCII 코드값을 문자로 변환함

  • SUBSTR(문자열, m, n) : 문자열에서 m번째 위치부터 n개를 자름

  • CONCAT(문자열1, 문자열2) : 문자열 1번과 문자열 2번을 결합함(Oracle에서는 ‘II’, MS-SQL‘+’ 를 사용함)

  • LOWER(문자열) : 영문자를 소문자로 변환함

  • UPPER(문자열) : 영문자를 대문자로 변환함

  • LENGTH 혹은 LEN(문자열) : 공백을 포함해서 문자열의 길이를 알려줌

  • LTRIM(문자열, 지정문자) : 왼쪽에서 지정된 문자를 삭제함, 지정된 문자를 생략하면 공백을 삭제함

  • RTRIM(문자열, 지정문자) : 오른쪽에서 지정된 문자를 삭제함, 지정된 문자를 생략하면 공백을 삭제함

  • TRIM(문자열, 지정문자) : 왼쪽 및 오른쪽에서 지정된 문자를 삭제함, 지정된 문자를 생략하면 공백을 삭제함

l  날짜형 함수

  • SYSDATE : 오늘의 날짜를 날짜 타입으로 알려줌

  • EXTRACT(‘YEAR’ | ‘MONTH’ | ‘DAY’ from dual) : 날짜에서 년, , 일을 조회함

l  숫자형 함수

  • ABS(숫자) : 절댓값을 돌려줌

  • SIGN(숫자) : 양수, 음수, 0을 구별함

  • MOD(숫자1, 숫자2) : 숫자1을 숫자2로 나누어 나머지를 계산함, %를 사용해도 됨

  • CEIL/CEILING(숫자) : 숫자보다 크거나 같은 최소의 정수를 돌려줌

  • FLOOR(숫자) : 숫자보다 작거나 같은 최대의 정수를 돌려줌

  • ROUND(숫자, m) : 소수점 m자리에서 반올림 함, m의 기본값은 0

  • TRUNC(숫자, m) : 소수점 m 자리에서 절삭함, m의 기본값은 0

'SQL 공부' 카테고리의 다른 글

(SQLD)WITH구문/DCL(Data Control Language)  (0) 2020.08.30
(SQLD)DECODE와 CASE/ROWNUM과 ROWID  (0) 2020.08.26
(SQLD)WHERE문 사용  (0) 2020.08.22
(SQLD)DML(Data Manipulation Language)  (0) 2020.08.20
(SQLD)DDL(Data Definition Language)  (0) 2020.08.08

+ Recent posts