[데이터 취업 스쿨 스터디 노트] 11. SQL 심화(PRIMARY KEY, FOREIGN KEY, 집계함수)

WHIT·2024년 6월 3일
0

Data Scientist

목록 보기
13/18

< 수강분량 : SQL CH. 14 ~ 15 >

✅ PRIMARY KEY (기본키)

- PRIMARY KEY

  • 테이블의 각 레코드를 식별
  • 중복되지 않은 고유값을 포함
  • NULL 값을 포함할 수 없음
  • 테이블 당 하나의 기본키를 가짐

- PRIMARY KEY 생성 문법 1

CREATE TABLE tablename
(
    column1 datatype NOT NULL,
    column2 datatype NOT NULL,
    ...
    CONSTRAINT constraint_name
    PRIMARY KEY (column1, column2, ...)
);

- PRIMARY KEY 삭제 문법

ALTER TABLE tablename
DROP PRIMARY KEY;

- PRIMARY KEY 생성 문법 2

ALTER TABLE tablename
ADD PRIMARY KEY (column1, column2, ...);

✅ FOREIGN KEY (외래키)

- FOREIGN KEY

  • 한 테이블을 다른 테이블과 연결해주는 역할이며,
  • 참조되는 테이블의 항목은 그 테이블의 기본키 (혹은 단일값)

- FOREIGN KEY 생성 문법 1

  • CREATE TABLE 에서 FOREIGN KEY 를 지정하는 경우, CONSTRAINT 를 생략할 수 있다.
CREATE TABLE tablename
(
    column1 datatype NOT NULL,
    column2 datatype NOT NULL,
    column3 datatype,
    column4 datatype,
    ...
    CONSTRAINT constraint_name
     PRIMARY KEY (column1, column2, ...),
    CONSTRAINT constraint_name
     FOREIGN KEY (column3, column4, ...) REFERENCES REF_tablename(REF_column)
);
  • 자동 생성된 CONSTRAINT 를 확인하는 방법
SHOW CREATE TABLE tablename;

- FOREIGN KEY 삭제 문법

ALTER TABLE tablename
DROP FOREIGN KEY FK_constraint;

- FOREIGN KEY 생성 문법 2

  • Table 이 생성된 이후에도 ALTER TABLE 을 통해 FOREIGN KEY 를 지정할 수 있다.
ALTER TABLE tablename
ADD FOREIGN KEY (column) REFERENCES REF_tablename(REF_column);

✅ Aggregate Functions (집계함수)

- COUNT

  • 총 갯수를 계산해주는 함수
SELECT COUNT(column)
FROM tablename
WHERE condition;

- SUM

  • 숫자 칼럼의 합계를 계산해주는 함수
SELECT SUM(column)
FROM tablename
WHERE condition;

- AVG

  • 숫자 칼럼의 평균을 계산해주는 함수
SELECT AVG(column)
FROM tablename
WHERE condition;

- MIN

  • 숫자 칼럼 중 가장 작은 값을 찾아주는 함수
SELECT MIN(column)
FROM tablename
WHERE condition;

- MAX

  • 숫자 칼럼 중 가장 큰 값을 찾아주는 함수
SELECT MAX(column)
FROM tablename
WHERE condition;

✅ GROUP BY

  • 그룹화하여 데이터를 조회
SELECT column1, column2, ...
FROM table
WHERE condition
GROUP BY column1, column2, ...
ORDER BY column1, column2, ...;

✅ HAVING

  • 조건에 집계함수가 포함되는 경우 WHERE 대신 HAVING 사용
SELECT column1, column2, ...
FROM table
WHERE condition
GROUP BY column1, column2, ...
HAVING condition (Aggregate Functions)
ORDER BY column1, column2, ...;

"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다."

0개의 댓글