반응형
데이터베이스를 다루는 개발자라면 꼭 알아야 할 것이 바로 SQL(Structured Query Language) 입니다.
오늘은 SQL의 기본 개념인 SELECT, JOIN, GROUP BY, 서브쿼리에 대해 쉽게 정리해보겠습니다! 🚀
1️⃣ SELECT – 데이터 조회의 기본
SELECT 문은 데이터베이스에서 원하는 데이터를 가져올 때 사용합니다.
📌 기본 문법:
SELECT 컬럼명1, 컬럼명2, ...
FROM 테이블명;
📌 예제: employees 테이블에서 직원의 id와 name 조회
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은 개발자가 데이터베이스를 다룰 때 가장 중요한 핵심 기술이므로, 자주 연습해보는 것이 좋습니다! 🚀
📢 더 궁금한 점이 있으면 댓글로 질문해주세요!
반응형
'IT정보' 카테고리의 다른 글
데이터 모델링 기초 - 쉽게 이해하는 개념 정리 (2) | 2025.03.28 |
---|---|
동기와 비동기의 차이, 운영체제 관점에서 쉽게 이해하기 (2) | 2025.03.27 |
TCP/IP 완벽 가이드 - 인터넷의 핵심 원리 쉽게 이해하기 (2) | 2025.03.26 |
인증(Authentication) & 인가(Authorization) 완벽 정리 (0) | 2025.03.25 |
HTML과 CSS로 간단한 로그인 폼 만들기 (3) | 2025.03.23 |
HTTP 프로토콜 완벽 가이드! 신입 개발자를 위한 쉬운 설명 📖 (0) | 2025.03.22 |
접근 권한: root와 admin 권한을 이해하는 법 (2) | 2025.03.20 |
프론트엔드 개발과 백엔드 개발, 무엇이 다를까? (6) | 2025.03.19 |