SQL 함수 마스터하기: 데이터 분석의 핵심을 파헤쳐보세요!




SQL 함수 마스터하기: 데이터 분석의 핵심을 파헤쳐보세요!
데이터 분석의 세계에 발을 들여놓으셨나요?
방대한 데이터 속에서 원하는 내용을 효율적으로 추출하고 분석하는 것은 쉽지 않죠. 하지만 걱정 마세요! SQL 함수를 활용하면 복잡한 데이터 처리도 간편하게 해결할 수 있답니다! 이 글에서는 SQL에서 자주 사용되는 다양한 함수들을 살펴보고, 실제 예제와 함께 자세히 알아보도록 하겠습니다. 데이터 분석의 핵심 도구인 SQL 함수를 마스터하고, 데이터 분석 전문가로 한 단계 더 성장해 보세요!
1. 문자열 함수: 데이터의 언어를 이해하다
데이터 분석에서 문자열 처리는 필수적이에요. 이름, 📧이메일 주소, 주소 등 다양한 문자열 데이터를 다루는 데, SQL의 문자열 함수는 강력한 도구가 되어준답니다.
1.1 CONCAT(): 문자열 연결의 달인
여러 문자열을 하나로 합쳐야 할 때, CONCAT() 함수가 유용해요. 두 개 이상의 문자열을 연결하여 새로운 문자열을 만들 수 있답니다.
sql
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;
위 예시처럼 employees 테이블의 firstname과 lastname을 공백을 추가하여 완전한 이름(full_name)으로 합쳐 보여줍니다. 간단하지만 매우 유용한 함수죠!
1.2 SUBSTRING(): 문자열 추출의 명수
특정 문자열에서 원하는 부분만 추출해야 할 때 사용하는 함수가 바로 SUBSTRING()이에요. 시작 위치와 추출할 길이를 지정하여 문자열의 일부를 가져올 수 있답니다.
sql
SELECT SUBSTRING(email, 1, 5) AS email_prefix
FROM users;
이 코드는 users 테이블의 email 열에서 처음 5글자만 추출하여 email_prefix로 표시합니다. 📧이메일 주소의 도메인 내용을 추출하거나 특정 부분만 분석할 때 유용하게 쓰일 수 있어요.
1.3 LENGTH(): 문자열 길이 측정기
문자열의 길이를 알아야 할 때, LENGTH() 함수가 도움을 줍니다. 문자열의 전체 길이(공백 포함)를 숫자로 반환해 주죠.
sql
SELECT LENGTH(description) AS desc_length
FROM products;
products 테이블의 description 열의 길이를 desc_length로 표시하는 코드입니다. 긴 설명을 가진 제품을 찾거나, 문자열 길이 제한을 확인하는 등 다양한 용도로 활용할 수 있답니다.
1.4 TRIM(): 불필요한 공백 제거기
데이터 입력 과정에서 문자열 앞뒤에 불필요한 공백이 생기는 경우가 종종 있죠. TRIM() 함수는 이러한 공백을 제거하여 데이터의 정확성을 높여줍니다.
sql
SELECT TRIM(column_name)
FROM table_name;
tablename 테이블의 columnname 열에서 앞뒤 공백을 제거하여 데이터 정제를 효율적으로 도와줍니다. 데이터 일관성을 유지하는 데 매우 중요한 함수랍니다!
2. 수학 함수: 숫자 데이터의 마법사
데이터 분석에서는 숫자 데이터를 다루는 일이 많아요. SQL의 수학 함수는 이러한 숫자 데이터를 다양하게 조작하고 분석하는 데 핵심적인 역할을 합니다.
2.1 ROUND(): 숫자 반올림 전문가
소수점 자릿수를 반올림해야 할 때 사용하는 함수입니다. 원하는 소수점 자릿수를 지정하여 숫자를 반올림할 수 있어요.
sql
SELECT ROUND(price, 2) AS rounded_price
FROM items;
items 테이블의 price 열을 소수점 두 자리까지 반올림하여 rounded_price로 표시하는 코드입니다. 가격이나 통계 값을 표시할 때 유용하게 사용할 수 있답니다.
2.2 FLOOR(): 내림 함수의 정석
숫자를 내림하여 가장 가까운 정수로 만들어 주는 함수에요. 소수점 이하를 버리고 정수 부분만 남기는 기능을 합니다.
sql
SELECT FLOOR(salary) AS floored_salary
FROM employees;
employees 테이블의 salary 열을 내림하여 floored_salary로 표시합니다. 급여 데이터를 정수 형태로 처리해야 할 때 유용하게 쓰일 수 있어요.
2.3 CEIL(): 올림 함수의 힘
숫자를 올림하여 가장 가까운 정수로 만들어 주는 함수입니다. 소수점 이하가 있으면 무조건 다음 정수로 올립니다.
sql
SELECT CEIL(discount) AS ceiled_discount
FROM orders;
orders 테이블의 discount 열을 올림하여 ceiled_discount로 표시합니다. 할인율을 계산할 때 유용하게 사용할 수 있답니다.
2.4 ABS(): 절댓값 계산기
숫자의 절댓값을 구하는 함수입니다. 음수는 양수로, 양수는 그대로 유지합니다.
sql
SELECT ABS(balance) AS absolute_balance
FROM accounts;
accounts 테이블의 balance 열의 절댓값을 absolute_balance로 표시합니다. 잔액의 변동폭을 계산하거나, 양수와 음수를 구분하지 않고 처리해야 할 때 유용합니다.
3. 날짜 및 시간 함수: 시간의 흐름을 제어하다
날짜와 시간 데이터를 처리하는 데 필요한 다양한 함수들을 알려알려드리겠습니다. 데이터 분석에서 시간 경과에 따른 변화를 분석하는 데 필수적이에요.
3.1 NOW(): 현재 날짜와 시간 확인
현재 시스템의 날짜와 시간을 가져오는 함수입니다. 데이터 기록이나 시간 기반 분석에 유용하게 사용됩니다.
sql
SELECT NOW() AS current_datetime;
현재 날짜와 시간을 current_datetime으로 표시합니다. 로그 기록이나 데이터 생성 시간을 기록할 때 유용하게 사용될 수 있어요.
3.2 DATE(): 날짜 추출 전문가
날짜와 시간 데이터에서 날짜 부분만 추출합니다. 시간 정보는 제외하고 날짜만 필요할 때 유용하게 쓰입니다.
sql
SELECT DATE(order_date) AS order_date_only
FROM orders;
orders 테이블의 orderdate 열에서 날짜만 추출하여 orderdate_only로 표시합니다. 주문 날짜를 기준으로 분석해야 할 때 유용합니다.
3.3 DATEDIFF(): 두 날짜 사이의 차이 계산
두 날짜 사이의 차이를 계산하여, 일, 월, 년 등의 단위로 결과를 반환합니다. 날짜을 계산해야 할 때 매우 유용한 함수입니다.
sql
SELECT DATEDIFF(NOW(), hire_date) AS days_since_hired
FROM employees;
employees 테이블의 hiredate와 현재 날짜 사이의 일수를 dayssince_hired로 표시합니다. 입사일로부터 경과된 날짜을 계산하는 등 다양한 용도로 활용할 수 있습니다.
3.4 DATE_ADD(): 날짜에 날짜 추가
특정 날짜에 일정 날짜을 더하여 새로운 날짜를 계산하는 함수입니다. 예를 들어, 주문일로부터 배송 예정일을 계산할 때 유용하게 사용할 수 있어요.
sql
SELECT DATE_ADD(order_date, INTERVAL 7 DAY) AS delivery_date
FROM orders;
orders 테이블의 orderdate에 7일을 더하여 deliverydate로 표시합니다. 주문일로부터 7일 후의 배송 예정일을 계산하는 등 다양한 용도로 활용이 할 수 있습니다.
4. 집계 함수: 데이터의 본질을 꿰뚫어보다
여러 행의 데이터를 요약하고 분석하는 데 사용되는 함수입니다. 데이터의 전체
자주 묻는 질문 Q&A
Q1: 이 글에서 소개하는 SQL 함수의 종류는 무엇인가요?
A1: 문자열 함수, 수학 함수, 날짜 및 시간 함수, 집계 함수 등 다양한 종류의 SQL 함수를 소개합니다.
Q2: 문자열 함수 중에서 문자열의 길이를 구하는 함수는 무엇이며, 어떻게 사용하나요?
A2: LENGTH() 함수를 사용합니다. `SELECT LENGTH(문자열) AS 길이` 와 같이 사용하여 문자열의 길이(공백 포함)를 구할 수 있습니다.
Q3: 두 날짜 사이의 차이를 계산하는 함수는 무엇이며, 어떤 단위로 결과를 얻을 수 있나요?
A3: DATEDIFF() 함수를 사용합니다. 일, 월, 년 등의 단위로 두 날짜 사이의 차이를 계산할 수 있습니다.




댓글