함수 및 연산자

SQL 함수 및 연산자 완벽 가이드: 집계, 스칼라, 산술, 비교, 논리 연산자 설명

이 글에서는 SQL의 함수 및 연산자에 대해 다룹니다. 집계 함수(SUM, AVG, COUNT, MAX, MIN)와 스칼라 함수(UPPER, LOWER, ROUND, TRIM, TO_CHAR)를 소개하며, 산술 연산자(+,-,*,/)와 비교 연산자(=, >, <, <>) 및 논리 연산자(AND, OR, NOT)의 사용법을 설명합니다.

함수 및 연산자

집계 함수 (SUM, AVG, COUNT, MAX, MIN)

SQL에서 집계 함수는 데이터 집합의 값을 계산하고 요약하는 데 사용됩니다. 이러한 함수는 주로 GROUP BY 절과 함께 사용되어 특정 그룹의 데이터에 대한 요약 정보를 제공합니다. 여기서는 대표적인 집계 함수인 SUM, AVG, COUNT, MAX, MIN에 대해 설명하겠습니다.

1. SUM

SUM 함수는 지정된 열의 모든 값의 합계를 반환합니다. 주로 수치 데이터에 사용됩니다.

예제:

SELECT SUM(sal) AS 총급여
FROM emp;

위 쿼리는 emp 테이블의 모든 직원 급여의 총합을 계산하여 총급여라는 별칭으로 반환합니다.

2. AVG

AVG 함수는 지정된 열의 평균값을 반환합니다. 이 함수도 수치 데이터에 사용됩니다.

예제:

SELECT AVG(sal) AS 평균급여
FROM emp;

위 쿼리는 emp 테이블의 모든 직원 급여의 평균을 계산하여 평균급여라는 별칭으로 반환합니다.

3. COUNT

COUNT 함수는 지정된 열의 값의 개수를 반환합니다. NULL 값은 계산하지 않습니다.

예제:

SELECT COUNT(empno) AS 직원수
FROM emp;

위 쿼리는 emp 테이블에서 직원 번호(empno)의 개수를 세어 직원수라는 별칭으로 반환합니다.

4. MAX

MAX 함수는 지정된 열의 최대값을 반환합니다. 주로 수치 데이터 또는 날짜 데이터에 사용됩니다.

예제:

SELECT MAX(sal) AS 최고급여
FROM emp;

위 쿼리는 emp 테이블에서 가장 높은 급여를 찾아 최고급여라는 별칭으로 반환합니다.

5. MIN

MIN 함수는 지정된 열의 최소값을 반환합니다. 이 함수도 주로 수치 데이터 또는 날짜 데이터에 사용됩니다.

예제:

SELECT MIN(sal) AS 최저급여
FROM emp;

위 쿼리는 emp 테이블에서 가장 낮은 급여를 찾아 최저급여라는 별칭으로 반환합니다.

이러한 집계 함수를 사용하여 데이터베이스에서 유용한 통계 정보를 쉽게 얻을 수 있습니다. 각 함수는 특정 목적에 맞게 사용되며, 데이터 분석 및 보고서 작성에 큰 도움이 됩니다.

스칼라 함수 (UPPER, LOWER, ROUND, TRIM, TO_CHAR)

스칼라 함수는 SQL에서 특정 입력 값에 대해 단일 값을 반환하는 함수입니다. 이러한 함수는 문자열 조작, 숫자 처리, 날짜 형식 변환 등 다양한 용도로 사용됩니다. 여기서는 UPPER, LOWER, ROUND, TRIM, TO_CHAR 함수에 대해 설명하겠습니다.

1. UPPER

UPPER 함수는 문자열을 모두 대문자로 변환합니다.

예제:

SELECT UPPER(ename) AS 대문자이름
FROM emp;

위 쿼리는 emp 테이블의 직원 이름(ename)을 대문자로 변환하여 대문자이름이라는 별칭으로 반환합니다.

2. LOWER

LOWER 함수는 문자열을 모두 소문자로 변환합니다.

예제:

SELECT LOWER(ename) AS 소문자이름
FROM emp;

위 쿼리는 emp 테이블의 직원 이름(ename)을 소문자로 변환하여 소문자이름이라는 별칭으로 반환합니다.

3. ROUND

ROUND 함수는 숫자를 지정된 소수점 자리까지 반올림합니다. 첫 번째 인자는 반올림할 숫자이고, 두 번째 인자는 소수점 자리 수입니다.

예제:

SELECT ROUND(sal, 0) AS 반올림급여
FROM emp;

위 쿼리는 emp 테이블의 급여(sal)를 소수점 없이 반올림하여 반올림급여라는 별칭으로 반환합니다.

4. TRIM

TRIM 함수는 문자열의 앞뒤 공백을 제거합니다. 이 함수는 문자열 처리에 유용합니다.

예제:

SELECT TRIM(ename) AS 공백제거이름
FROM emp;

위 쿼리는 emp 테이블의 직원 이름(ename)에서 앞뒤 공백을 제거하여 공백제거이름이라는 별칭으로 반환합니다.

5. TO_CHAR

TO_CHAR 함수는 숫자 또는 날짜를 문자열로 변환합니다. 이 함수는 데이터 형식을 변경할 때 유용합니다.

예제:

SELECT TO_CHAR(hiredate, 'YYYY-MM-DD') AS 고용일자
FROM emp;

위 쿼리는 emp 테이블의 고용일자(hiredate)를 'YYYY-MM-DD' 형식의 문자열로 변환하여 고용일자라는 별칭으로 반환합니다.

이러한 스칼라 함수들은 데이터베이스에서 데이터를 처리하고 변환하는 데 매우 유용하며, 다양한 작업을 간편하게 수행할 수 있도록 도와줍니다.

산술 연산자 (+, -, *, /)

SQL에서 산술 연산자는 숫자 데이터를 처리하고 계산하는 데 사용됩니다. 기본적인 산술 연산자는 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)이 있습니다. 이들 연산자는 SQL 쿼리 내에서 수치 데이터를 조작하는 데 유용합니다. 각 연산자에 대해 자세히 살펴보겠습니다.

1. 덧셈 (+)

덧셈 연산자는 두 개 이상의 숫자를 더하는 데 사용됩니다.

예제:

SELECT empno, ename, sal, sal + 1000 AS 급여인상후
FROM emp;

위 쿼리는 emp 테이블에서 각 직원의 급여(sal)에 1000을 더한 값을 급여인상후라는 별칭으로 반환합니다.

2. 뺄셈 (-)

뺄셈 연산자는 두 숫자 간의 차이를 계산하는 데 사용됩니다.

예제:

SELECT empno, ename, sal, sal - 500 AS 급여감소후
FROM emp;

위 쿼리는 emp 테이블에서 각 직원의 급여(sal)에서 500을 뺀 값을 급여감소후라는 별칭으로 반환합니다.

3. 곱셈 (*)

곱셈 연산자는 두 숫자를 곱하는 데 사용됩니다.

예제:

SELECT empno, ename, sal, sal * 1.1 AS 급여인상율
FROM emp;

위 쿼리는 emp 테이블에서 각 직원의 급여(sal)에 1.1을 곱하여 10% 인상된 급여를 급여인상율이라는 별칭으로 반환합니다.

4. 나눗셈 (/)

나눗셈 연산자는 한 숫자를 다른 숫자로 나누는 데 사용됩니다.

예제:

SELECT empno, ename, sal, sal / 2 AS 반반급여
FROM emp;

위 쿼리는 emp 테이블에서 각 직원의 급여(sal)를 2로 나눈 값을 반반급여라는 별칭으로 반환합니다.

이러한 산술 연산자는 SQL 쿼리에서 데이터를 계산하고 분석하는 데 매우 유용하며, 다양한 비즈니스 로직을 구현하는 데 필수적입니다.

비교 연산자 (=, >, <, <>)

비교 연산자는 SQL에서 두 값을 비교하고 그 결과를 TRUE, FALSE 또는 UNKNOWN으로 반환하는 데 사용됩니다. 이러한 연산자는 주로 WHERE 절에서 조건을 설정할 때 사용되며, 데이터 필터링에 매우 유용합니다. 여기서는 주요 비교 연산자인 =, >, <, <>에 대해 설명하겠습니다.

1. 같음 (=)

= 연산자는 두 값이 같은지를 비교합니다. 값이 같으면 TRUE를 반환하고, 다르면 FALSE를 반환합니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE sal = 3000;

위 쿼리는 emp 테이블에서 급여(sal)가 3000인 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

2. 크다 (>)

> 연산자는 왼쪽 값이 오른쪽 값보다 큰지를 비교합니다. 왼쪽 값이 크면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE sal > 2500;

위 쿼리는 emp 테이블에서 급여(sal)가 2500보다 큰 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

3. 작다 (<)

< 연산자는 왼쪽 값이 오른쪽 값보다 작은지를 비교합니다. 왼쪽 값이 작으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE sal < 2000;

위 쿼리는 emp 테이블에서 급여(sal)가 2000보다 작은 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

4. 같지 않음 (<>)

<> 연산자는 두 값이 같지 않은지를 비교합니다. 값이 다르면 TRUE를 반환하고, 같으면 FALSE를 반환합니다. SQL에서는 != 연산자도 동일한 기능을 합니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE sal <> 1500;

위 쿼리는 emp 테이블에서 급여(sal)가 1500이 아닌 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

비교 연산자는 SQL 쿼리에서 데이터를 필터링하고 특정 조건을 만족하는 레코드를 찾는 데 매우 중요한 역할을 합니다. 이를 통해 필요한 데이터를 효과적으로 추출할 수 있습니다.

논리 연산자 (AND, OR, NOT)

논리 연산자는 SQL에서 여러 조건을 결합하거나 반전시키는 데 사용됩니다. 이러한 연산자는 주로 WHERE 절에서 조건을 조합하여 더욱 복잡한 쿼리를 작성할 때 유용합니다. 여기서는 주요 논리 연산자인 AND, OR, NOT에 대해 설명하겠습니다.

1. AND

AND 연산자는 두 개 이상의 조건이 모두 TRUE일 때 TRUE를 반환합니다. 즉, 모든 조건이 만족해야 결과가 반환됩니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE sal > 2000 AND deptno = 30;

위 쿼리는 emp 테이블에서 급여(sal)가 2000보다 크고, 부서 번호(deptno)가 30인 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

2. OR

OR 연산자는 두 개 이상의 조건 중 하나라도 TRUE일 때 TRUE를 반환합니다. 즉, 조건 중 하나만 만족해도 결과가 반환됩니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE sal < 1500 OR deptno = 10;

위 쿼리는 emp 테이블에서 급여(sal)가 1500보다 작거나 부서 번호(deptno)가 10인 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

3. NOT

NOT 연산자는 조건의 TRUE/FALSE 값을 반전시킵니다. 즉, 조건이 TRUE이면 FALSE를 반환하고, FALSE이면 TRUE를 반환합니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE NOT deptno = 20;

위 쿼리는 emp 테이블에서 부서 번호(deptno)가 20이 아닌 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

논리 연산자는 SQL 쿼리에서 조건을 조합하여 복잡한 필터링을 가능하게 하며, 데이터베이스에서 원하는 정보를 정확하게 추출하는 데 필수적인 도구입니다. 이를 통해 다양한 조건을 조합하여 필요한 데이터를 효과적으로 검색할 수 있습니다.

논리 연산자 (AND, OR, NOT)

논리 연산자는 SQL 쿼리에서 여러 조건을 결합하거나 반전시키는 데 사용됩니다. 이러한 연산자는 주로 WHERE 절에서 조건을 조합하여 더욱 복잡한 쿼리를 작성할 때 유용합니다. 여기서는 주요 논리 연산자인 AND, OR, NOT에 대해 설명하겠습니다.

1. AND

AND 연산자는 두 개 이상의 조건이 모두 TRUE일 때 TRUE를 반환합니다. 즉, 모든 조건이 만족해야 결과가 반환됩니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE sal > 2000 AND deptno = 30;

위 쿼리는 emp 테이블에서 급여(sal)가 2000보다 크고, 부서 번호(deptno)가 30인 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

2. OR

OR 연산자는 두 개 이상의 조건 중 하나라도 TRUE일 때 TRUE를 반환합니다. 즉, 조건 중 하나만 만족해도 결과가 반환됩니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE sal < 1500 OR deptno = 10;

위 쿼리는 emp 테이블에서 급여(sal)가 1500보다 작거나 부서 번호(deptno)가 10인 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

3. NOT

NOT 연산자는 조건의 TRUE/FALSE 값을 반전시킵니다. 즉, 조건이 TRUE이면 FALSE를 반환하고, FALSE이면 TRUE를 반환합니다.

예제:

SELECT empno, ename, sal
FROM emp
WHERE NOT deptno = 20;

위 쿼리는 emp 테이블에서 부서 번호(deptno)가 20이 아닌 직원의 번호(empno), 이름(ename), 급여(sal)를 조회합니다.

논리 연산자는 SQL 쿼리에서 조건을 조합하여 복잡한 필터링을 가능하게 하며, 데이터베이스에서 원하는 정보를 정확하게 추출하는 데 필수적인 도구입니다. 이를 통해 다양한 조건을 조합하여 필요한 데이터를 효과적으로 검색할 수 있습니다.

Similar Posts