TIL 복귀작 DBP

정예서·2026년 7월 1일

My_TIL

목록 보기
20/20

테이블 생성

PRIMARY KEY (기본키)

  • 중복 불가
  • NULL 불가
  • 테이블에서 데이터를 구별하는 번호
CREATE TABLE BOOK(
    BNO NUMBER PRIMARY KEY
);

FOREIGN KEY (외래키)

다른 테이블의 기본키를 참조

BNO NUMBER,
FOREIGN KEY(BNO) REFERENCES BOOK(BNO)

부모의 번호만 자식에서 사용할 수 있다.

ON DELETE CASCADE

< 부모 삭제하면 자식도 같이 삭제 >

FOREIGN KEY(BNO)
REFERENCES BOOK(BNO)
ON DELETE CASCADE;

DEFAULT

값을 안 넣으면 자동 입력

RDATE DATE DEFAULT SYSDATE

UNIQUE

SHOP_NAME VARCHAR2(50) UNIQUE

Null은 가능하지만 중복은 금지

테이블에 값 추가

INSERT

모든 컬럼 입력

INSERT INTO BOOK
VALUES(1,'SQL','홍길동',20000);

일부 컬럼만

INSERT INTO BOOK(BNO,TITLE)
VALUES(2,'데이터베이스');

테이블 값 조회

SELECT *
FROM BOOK;

전체 조회가 아닌 원하는 값만 조회하고 싶다면 * => 대신 일부 컬럼을 작성

WHERE 조건

같다 표현

WHERE PRICE=10000

크기 비교

WHERE PRICE>=20000

BETWEEN

WHERE PRICE
BETWEEN 10000 AND 20000

범위 측정할 때 자주 사용

IN

여러개의 카테고리 중에 속하는 애들만 조회

WHERE CATEGORY
IN('치킨','커피')

LIKE

% <- 앞뒤 뭐가 있든 상관 없음
__ <-갯수가 정해져있음

정렬

오름차순

ORDER BY PRICE ASC;

내림차순

ORDER BY PRICE DESC;

JOIN

SELECT R.SNAME,
       B.TITLE
FROM RENTAL R
JOIN BOOK B
ON R.BNO=B.BNO;

집계함수

  • COUNT(개수)
  • SUM(합계)
  • AVG(평균)
  • MAX(최대)
  • MIN(최소)

GROUP BY

같은 것끼리 묶기

SELECT CATEGORY,
COUNT(*)
FROM SHOP
GROUP BY CATEGORY;

HAVING

GROUP BY 이후 조건

GROUP BY CATEGORY
HAVING COUNT(*)>=2;

**WHERE → 일반 조건

HAVING → 집계 조건**

UPDATE 수정

UPDATE BOOK
SET PRICE=15000
WHERE BNO=1;

DELETE

DELETE
FROM BOOK
WHERE BNO=1;

WHERE 안 쓰면 전부 삭제

ALTER TABLE

테이블 수정

ALTER TABLE MOVIE
MODIFY GENRE VARCHAR2(100);

서브쿼리

쿼리 안의 쿼리

SELECT *
FROM BOOK
WHERE PRICE=
( SELECT MIN(PRICE) FROM BOOK );

FETCH FIRST

상위 N개
ex) Top5 가져오기

ORDER BY PRICE DESC
FETCH FIRST 5 ROWS ONLY;
profile
미림마이스터고 재학중인 고3 개발자 정예서입니다.

3개의 댓글

comment-user-thumbnail
2026년 7월 1일

드디어 돌아오셨다ㅠㅠㅠ
그 와중에 메이플 스토리 프로필 사진 모야;-;

1개의 답글
comment-user-thumbnail
2026년 7월 2일

멋지다멋져이거지.(잘해써요~~)

답글 달기