프로그래밍 숲

SQL 내장 함수 - 단일 행 함수와 다중 행 함수의 예시 본문

프로그래밍_인포/데이터베이스&SQL

SQL 내장 함수 - 단일 행 함수와 다중 행 함수의 예시

jjscript 2023. 6. 2. 10:04
728x90
반응형

SQL에서 단일 행 함수와 다중 행 함수는 데이터베이스의 데이터에 대한 계산 또는 조작을 수행하는 데 사용할 수 있는 두 가지 유형의 함수입니다. 다음은 예와 함께 각 유형에 대한 설명입니다.

단일 행 함수

단일 행 함수는 한 번에 데이터의 단일 행에서 작동하고 각 행에 대해 단일 결과를 반환합니다. 이러한 함수는 일반적으로 행 내의 개별 값을 수정하거나 변환하는 데 사용됩니다.

  • UPPER() 함수: 문자열을 대문자로 변환합니다. 예를 들어 SELECT UPPER('hello')는 'HELLO'를 반환합니다.
  • LOWER() 함수: 문자열을 소문자로 변환합니다. 예를 들어 SELECT LOWER('WORLD')는 'world'를 반환합니다.
  • LENGTH() 함수: 문자열의 길이를 반환합니다. 예를 들어 SELECT LENGTH('apple')는 5를 반환합니다.
  • ROUND() 함수: 숫자 값을 지정된 소수 자릿수로 반올림합니다. 예를 들어 SELECT ROUND(3.14159, 2)는 3.14를 반환합니다.
  • SUBSTR() 함수: 문자열에서 하위 문자열을 반환합니다. 예를 들어 SELECT SUBSTR('Hello World', 7, 5)는 7번째 문자부터 시작하여 5자를 추출하여 'World'를 반환합니다.
  • CONCAT() 함수: 두 개 이상의 문자열을 함께 연결합니다. 예를 들어 SELECT CONCAT('Hello', ' ', 'World')는 'Hello World'를 반환합니다.
  • TRIM() 함수: 문자열에서 앞뒤 공백을 제거합니다. 예를 들어 SELECT TRIM(' Hello ')은 여분의 공백을 제거하고 'Hello'를 반환합니다.
  • REPLACE() 함수: 문자열 내의 하위 문자열을 다른 하위 문자열로 교체합니다. 예를 들어 `SELECT REPLACE('Hello World', 'World', 'Universe')'는 'Hello Universe'를 반환합니다.

다중 행 함수

다중 행 함수는 한 번에 여러 데이터 행에서 작동하고 전체 행 집합에 대해 단일 결과를 반환합니다. 이러한 함수는 일반적으로 여러 행에서 계산을 수행하거나 데이터를 집계하는 데 사용됩니다.

  • COUNT() 함수: 테이블의 행 수 또는 열의 null이 아닌 값의 수를 반환합니다. 예를 들어 SELECT COUNT(*) FROM Employees는 "employees" 테이블의 총 행 수를 반환합니다.
  • SUM() 함수: 숫자 열의 합계를 계산합니다. 예를 들어 SELECT SUM(salary) FROM Employees는 "employees" 테이블에 있는 "salary" 열의 총 합계를 반환합니다.
  • AVG() 함수: 숫자 열의 평균을 계산합니다. 예를 들어 SELECT AVG(age) FROM Students는 "학생" 테이블에 있는 학생의 평균 연령을 반환합니다.
  • MAX() 함수: 열의 최대값을 반환합니다. 예를 들어 SELECT MAX(price) FROM products는 "products" 테이블에 있는 제품 중에서 가장 높은 가격을 반환합니다.
  • MIN() 함수: 열의 최소값을 반환합니다. 예를 들어 SELECT MIN(quantity) FROM inventory는 "재고" 테이블의 항목 중에서 가장 낮은 수량을 반환합니다.
  • GROUP BY 절: 특정 열을 기준으로 행을 그룹화하고 각 그룹에 집계 함수를 적용할 수 있도록 합니다. 예를 들어 'SELECT 부서, COUNT(*) FROM 직원 GROUP BY 부서'는 각 부서의 직원 수를 반환합니다.
  • HAVING 절: 조건에 따라 GROUP BY 쿼리 결과를 필터링합니다. 예를 들어 'SELECT 부서, COUNT() FROM 직원 GROUP BY 부서 HAVING COUNT() > 5'는 직원이 5명 이상인 부서를 반환합니다.
  • ROW_NUMBER() 함수: 결과 집합의 각 행에 고유 번호를 할당합니다. 예를 들어 SELECT ROW_NUMBER() OVER (ORDER BY 급여 DESC) AS rank, employee_name, 급여 FROM 직원은 급여를 기준으로 각 직원에게 순위를 할당합니다.
  • SUM() OVER() 함수: 여러 행에 걸쳐 열의 누적 합계를 계산합니다. 예를 들어 SELECT date, sales, SUM(sales) OVER (ORDER BY date) AS cumulative_sales FROM sales_data는 각 날짜의 누적 매출을 반환합니다.
  • COALESCE() 함수: 목록에서 null이 아닌 첫 번째 값을 반환합니다. 예를 들어 `SELECT employee_name, COALESCE(middle_name, 'N/A') AS middle_name FROM 직원'은 직원의 중간 이름을 반환하거나 null인 경우 'N/A'를 반환합니다.
728x90
반응형
Comments