[세션 요약] SQL 문풀/문길래 튜터

아뇨 민균데요·2025년 5월 19일
0

🗂️ SQL 기초 개념 정리 (초등학생도 쉽게 이해하기)


1. 테이블(Table) - 데이터가 사는 집

  • 테이블이란 데이터를 모아 놓은 집 🏠
  • 엑셀의 시트와 비슷하게 데이터를 행(row)과 열(column)로 저장

예시) 학생 명단 테이블 (students)

student_idnameageclass
1철수103-A
2영희113-B
3민수103-A
4수지123-C

2. Primary Key (기본키), Unique Key (유일키), Foreign Key (외래키)

  • Primary Key (기본키)

    • 가장 중요한 키
    • 각 행을 유일하게 구분하는 식별자
    • 중복 불가 + 빈칸 불가
    • 보통 학생번호, 주민등록번호처럼 중복될 수 없는 컬럼

예시) 학생 테이블에서 student_id가 Primary Key

student_id (PK)nameageclass
1철수103-A
2영희113-B
3민수103-A
4수지123-C

  • Unique Key (유일키)

    • 중복이 없어야 하지만, 빈칸은 허용
    • 같은 테이블에서 여러 개 존재 가능
    • 보통 이메일, 전화번호처럼 중복되면 안 되는 컬럼

예시) 이메일이 Unique Key

student_idnameemail
1철수chulsoo@abc.com
2영희younghee@abc.com
3민수minsoo@abc.com
4수지suzy@abc.com

  • Foreign Key (외래키)

    • 다른 테이블의 Primary Key를 참조하는 컬럼
    • 두 테이블을 연결할 때 사용
    • 학급 테이블과 학생 테이블을 연결할 때 유용

예시) 학생 테이블과 학급 테이블
학생 테이블 (students)

student_id (PK)nameclass_id (FK)
1철수101
2영희102
3민수101
4수지103

학급 테이블 (classes)

class_id (PK)class_name
1013-A
1023-B
1033-C

3. SELECT 문 - 데이터를 꺼내오는 방법

  • 테이블에서 원하는 데이터를 꺼낼 때 사용하는 기본 명령어
SELECT * FROM students;
  • SELECT: 무엇을 꺼낼지 선택
  • FROM: 어느 테이블에서 꺼낼지 지정

4. WHERE 문 - 조건을 걸어서 데이터를 선택하기

  • 특정 조건에 맞는 데이터만 보고 싶을 때 사용
SELECT * FROM students WHERE age = 10;
  • WHERE: 조건 설정

5. LIMIT - 결과 개수 제한하기

  • 너무 많은 데이터가 나오지 않도록 최대 출력 개수를 제한
SELECT * FROM students LIMIT 2;
  • LIMIT 2: 최대 2개만 보여줘

6. JOIN - 테이블 연결하기

  • 두 개 이상의 테이블을 연결해서 데이터 조회
  • Inner Join: 공통된 데이터만 연결
SELECT s.name, c.class_name 
FROM students s 
INNER JOIN classes c 
ON s.class_id = c.class_id;
  • ON: 연결할 컬럼 지정 (학생 테이블의 class_id와 학급 테이블의 class_id)

7. GROUP BY - 데이터를 묶어서 보기

  • 같은 값을 가진 행들을 하나로 묶고 싶을 때 사용
SELECT class_id, COUNT(*) 
FROM students 
GROUP BY class_id;
  • COUNT: 개수 세기
  • GROUP BY: 그룹으로 묶기

8. Alias - 별명 붙이기

  • 컬럼이나 테이블에 별명을 붙여 코드 간결하게 만들기
SELECT s.name AS 학생이름, c.class_name AS 반이름
FROM students s 
JOIN classes c 
ON s.class_id = c.class_id;
  • AS: 별명 지정

9. 문자열 자르기 - SUBSTR, LEFT

  • SUBSTR: 문자열의 일부를 자를 때
SELECT SUBSTR(name, 1, 2) FROM students;
  • LEFT: 왼쪽에서 몇 글자 가져올 때
SELECT LEFT(name, 2) FROM students;

profile
this man을 꿈 속에서 보신 적이 있으신가요?

0개의 댓글