본문 바로가기

IT정보

SQL 기본 개념 완벽 정리 – SELECT, JOIN, GROUP BY, 서브쿼리

반응형

 

 

데이터베이스를 다루는 개발자라면 꼭 알아야 할 것이 바로 SQL(Structured Query Language) 입니다.

오늘은 SQL의 기본 개념SELECT, JOIN, GROUP BY, 서브쿼리에 대해 쉽게 정리해보겠습니다! 🚀


1️⃣ SELECT – 데이터 조회의 기본

SELECT 문은 데이터베이스에서 원하는 데이터를 가져올 때 사용합니다.

 

📌 기본 문법:

SELECT 컬럼명1, 컬럼명2, ...  
FROM 테이블명;

 

📌 예제: employees 테이블에서 직원의 idname 조회

SELECT id, name  
FROM employees;

 

추가 기능

  • WHERE 조건을 사용해 특정 데이터만 조회
  • ORDER BY를 사용해 정렬
  • LIMIT을 사용해 일부 데이터만 가져오기
SELECT id, name  
FROM employees  
WHERE department = 'IT'  
ORDER BY name ASC  
LIMIT 5;

2️⃣ JOIN – 여러 테이블에서 데이터 가져오기

데이터베이스에는 여러 개의 테이블이 존재하며, JOIN을 사용하면 서로 연결된 데이터를 가져올 수 있습니다.

 

📌 종류

  • INNER JOIN: 두 테이블에서 일치하는 데이터만 조회
  • LEFT JOIN: 왼쪽 테이블의 모든 데이터 + 오른쪽 테이블의 일치하는 데이터 조회
  • RIGHT JOIN: 오른쪽 테이블의 모든 데이터 + 왼쪽 테이블의 일치하는 데이터 조회
  • FULL JOIN: 두 테이블의 모든 데이터를 조회

📌 예제: employees 테이블과 departments 테이블을 JOIN하여 직원의 부서명 가져오기

SELECT employees.id, employees.name, departments.department_name  
FROM employees  
INNER JOIN departments  
ON employees.department_id = departments.id;

3️⃣ GROUP BY – 데이터 그룹화하기

GROUP BY같은 값을 가진 데이터들을 그룹으로 묶고, 집계 함수(Aggregate Function)를 적용할 때 사용됩니다.

 

📌 예제: 부서별 직원 수 구하기

SELECT department, COUNT(*) AS employee_count  
FROM employees  
GROUP BY department;

 

집계 함수 종류

  • COUNT(*) – 개수 세기
  • SUM(column_name) – 합계
  • AVG(column_name) – 평균
  • MAX(column_name) – 최대값
  • MIN(column_name) – 최소값

📌 예제: 부서별 평균 급여 구하기

SELECT department, AVG(salary) AS avg_salary  
FROM employees  
GROUP BY department;

4️⃣ 서브쿼리 – SQL 안의 SQL

서브쿼리(Subquery)는 다른 SQL문 안에 포함된 SQL문입니다.

 

📌 예제: IT 부서에서 급여가 가장 높은 직원 조회

SELECT name, salary  
FROM employees  
WHERE salary = (SELECT MAX(salary) FROM employees WHERE department = 'IT');

 

서브쿼리의 종류

  • 스칼라 서브쿼리: 하나의 값을 반환
  • 다중 행 서브쿼리: 여러 개의 값을 반환 (IN, EXISTS와 함께 사용)
  • 상관 서브쿼리: 메인 쿼리의 각 행에 대해 실행

📌 예제: 각 직원의 급여가 해당 부서 평균 급여보다 높은 직원 조회

SELECT name, department, salary  
FROM employees e  
WHERE salary > (SELECT AVG(salary) FROM employees WHERE department = e.department);

📌 정리 – SQL 기본 개념 한눈에 보기

SELECT 데이터 조회
JOIN 여러 테이블의 데이터를 결합하여 조회
GROUP BY 같은 값끼리 그룹화하여 집계 함수 적용
서브쿼리 SQL문 안에서 또 다른 SQL문 실행

 

이제 SQL의 기본 개념을 이해하셨나요? 😊
SQL은 개발자가 데이터베이스를 다룰 때 가장 중요한 핵심 기술이므로, 자주 연습해보는 것이 좋습니다! 🚀

 

📢 더 궁금한 점이 있으면 댓글로 질문해주세요!

반응형