프로그래밍 언어/SQL

[SQL 개념 정리 2] SQL의 산술 연산자와 합성 연산자

ourkofe's story 2024. 11. 12. 14:55

✨ SQL 산술 연산자 (Arithmetic Operators)

산술 연산자는 SQL에서 숫자 값의 계산을 수행할 때 사용하는 기본 연산자들입니다. 테이블의 특정 열에 대한 계산을 하거나 여러 값을 조합하여 새로운 결과를 만들어낼 수 있습니다.

연산자 설명 예시 결과

+ 덧셈: 두 값을 더함 SELECT 10 + 5; 15
- 뺄셈: 첫 번째 값에서 두 번째 값을 뺌 SELECT 10 - 5; 5
* 곱셈: 두 값을 곱함 SELECT 10 * 5; 50
/ 나눗셈: 첫 번째 값을 두 번째 값으로 나눔 SELECT 10 / 2; 5
% 나머지: 첫 번째 값을 두 번째 값으로 나눈 나머지 SELECT 10 % 3; 1

💡 예시

  • 월급에 보너스 추가
    직원의 월급에 보너스를 더하여 총 급여를 조회할 수 있습니다.
SELECT employee_id, salary + bonus AS total_salary
FROM employees;

salary와 bonus 값을 더해 total_salary를 계산합니다.

 

  • 할인 적용 후 가격 계산
    상품 가격에서 할인을 적용한 최종 금액을 조회할 수 있습니다.
SELECT product_name, price - discount AS discounted_price
FROM products
WHERE discount IS NOT NULL;

할인이 적용된 상품들만 discounted_price로 조회할 수 있습니다.

 

  • 총 판매 금액 구하기
    주문에서 각 항목의 수량과 단가를 곱하여 총 판매 금액을 계산합니다.
SELECT order_id, quantity * unit_price AS total_price
FROM order_details;

quantity와 unit_price를 곱해 total_price를 구할 수 있습니다.

 

  • 평균 점수 계산
    학생의 시험 점수를 평균하여 출력할 수 있습니다.
SELECT student_id, (math + science + english) / 3 AS average_score
FROM students_scores;

math, science, english 세 과목 점수를 합하여 평균 점수를 구합니다.

 

  • 나머지 계산
    재고가 특정 수량으로 균등하게 나누어지는지 확인할 수 있습니다.
SELECT product_name, quantity % 5 AS remainder
FROM inventory;

각 상품의 quantity를 5로 나눈 나머지를 조회하여, 재고가 특정 단위로 나누어지는지 확인할 수 있습니다.


✨  SQL 합성 연산자 (Concatenation Operators)

합성 연산자는 문자열을 결합하여 하나의 문자열로 만들어주는 연산자입니다. SQL에서는 ||(SQL 표준) 또는 +(SQL Server) 연산자를 통해 여러 문자열을 합성할 수 있습니다.

연산자 설명 예시 결과
|| 문자열 결합: 두 문자열을 결합 SELECT 'Hello' || ' ' || 'World'; Hello World
+ 문자열 결합: 두 문자열을 결합 SELECT 'Hello' + ' ' + 'World'; Hello World

💡 예시

  • 이름과 직책 결합
    직원의 이름과 직책을 결합하여 표시할 수 있습니다.
SELECT first_name || ' ' || last_name || ', ' || job_title AS full_description
FROM employees;

이름과 직책을 결합해 full_description 열에 출력합니다. 예: "Alice Brown, Sales Manager"

 

  • 주소 생성
    고객의 주소를 결합하여 하나의 문자열로 조회할 수 있습니다.
SELECT street || ', ' || city || ', ' || state || ' ' || zip_code AS full_address
FROM customers;

각 주소 요소를 결합하여 full_address 열에 표시합니다.

 

  • 제품 설명 생성
    제품명과 설명을 결합하여 완성된 설명을 생성할 수 있습니다.
SELECT product_name || ': ' || description AS product_details
FROM products;

product_name과 description을 결합해 product_details 열에 출력합니다. 예: "Laptop: High-performance laptop with 16GB RAM"

  • 전화번호 포맷팅
    고객의 전화번호를 포맷팅하여 일관된 형식으로 보여줄 수 있습니다.
SELECT '(' || area_code || ') ' || phone_number AS formatted_phone
FROM contacts;

area_code와 phone_number를 결합해 일관된 전화번호 형식으로 출력합니다. 예: "(123) 456-7890"

 

  • 풀네임 생성
    학생의 이름과 성을 결합해 풀네임을 생성할 수 있습니다.
SELECT last_name || ', ' || first_name AS full_name
FROM students;

성과 이름을 결합해 full_name 열에 표시합니다. 예: "Doe, John"


요약 ✍️

SQL 연산자를 사용하면 데이터를 유연하게 다룰 수 있으며, 계산이나 텍스트 결합을 통해 원하는 형태의 결과를 만들어낼 수 있습니다.

  • 산술 연산자:
      • (덧셈), (뺄셈), (곱셈), / (나눗셈), % (나머지)
    • 숫자 계산, 금액 계산, 평균 점수 구하기 등 수치 데이터를 조작할 때 유용하게 사용됩니다.
  • 합성 연산자:
    • || 또는 + (문자열 결합)
    • 이름, 주소, 설명 등을 결합하여 하나의 문자열로 표현하고자 할 때 사용합니다.
728x90