
1. SELECT
- 내가 원하는 column을 '선택'할 때 쓰는 것.
SELECT
COLUMN1
COLUMN2
FROM DATABASE
;
- 안에 있는거 다내놔
SELECT
*
FROM DATABASE
- DUAL : 더미 데이터, 빈 데이터, 임시 저장 용도로 흔히 쓰이는 듯
SELECT (10 + 2) / S AS VAL
FROM dual
;
ORDER BY
SELECT
..
ORDER BY column [DESC/ASC]
- 다중 정렬도 가능
SELECT
…
FROM ..
ORDER BY COL1, COL2 DESC
→ COL1은 오름차순 // COL2는 내림차순
SELECT DISTINCT문
- 중복된 값이 없도록 나오게 만듬.
SELECT
DISTINCT COL1
FROM …
ORDER BY …
→ COL1에서 중복된 데이터가 없게 나온다.
WHERE절
SELECT
…
FROM …
WHERE COL1 = “VALS”
→ COL1의 데이터가 VALS인 것만 나온다.
- 그 외
WHERE
COL1 > NUM -- 둘이 동시에 만족하는 셀들 출력
AND
COL2 = 4;
COL1 BETWEEN 300 AND 400 : 300에서 400사이인 COLUMN값
COL1 IN (1, 4) : COL1이 1 혹은 4인 행들을 출력
COL1 IN ‘Asus%’ : COL1이 Asus로 시작하는 행들 출력
INSERT
INSERT INTO
DATABASE (
COL1,
COL2,
COL3
)
VALUES (
VAL1,
VAL2,
VAL3
);
COMMIT;
- COMMIT을 반드시 해줘야 한다. ‘이걸 넣을 거야. 결정했음’ 이런 뜻
UPDATE
UPDATE DB
SET COL3 = 130
, COL2 = 120
WHERE COL1 = 1;
COMMIT;
WHERE 절이 없는 UPDATE문은 매우 위험한 작업. 하지말자
DELETE
DELETE
FROM DB
WHERE COL1 = VAL1
AND COL2 = VAL2
;
COMMIT;
VIEW
: SQL 문들의 그릇같은 역할.
- 너무 자주 쓰면 성능상 안좋다고 함.
INLINE VIEW
SELECT 변수명
FROM (SELECT 변수명 \N FROM 데이터 \N WHERE 조건)
이것 처럼 FROM 안에 넣을 수 있는 조건 섞인 데이터 뭉치들
VIEW 활용
- 선언
CREATE OR REPLACE VIEW 뷰 이름 AS
SQL문
…
- 사용
SELECT 컬럼명
FROM 뷰 이름
서브 쿼리
- 메인 쿼리 안에 있는 쿼리
- 스칼라 서브 쿼리
예시


이처럼 테이블 안에 있는 데이터들을 활용해서 추가적인 열을 만들 수 있음.
AVG_LIST_PRICE : 해당 제품이 위치하고 있는 제품 카테고리의 평균 가격도 같이 구함
인라인 뷰 서브쿼리

ORDER_ITEM에 있는 ORDER_ID와 QUANTITY*UNIT_PRICE( = ORDER_VALUE)를
ORDER_ID별로 고른 것을
ORDER_VALUE 순서로 나열한 자료에서
ORDER_ID와 ORDER_VALUE값에 대해서 가져오는데,
ROWNUM <= 10 이어야 함.
'정리' 카테고리의 다른 글
[데이터베이스 강의 정리] 6. 락과 데드락(Lock & Deadlock) (0) | 2021.08.05 |
---|---|
[데이터베이스 강의 정리] 5. 트랜잭션(Transaction) (0) | 2021.08.05 |
[데이터베이스 강의 정리] 3. 아키텍쳐 (0) | 2021.08.05 |
[데이터베이스 강의 정리] 2. 관계형 데이터 베이스 (0) | 2021.08.05 |
[데이터베이스 강의 정리] 1. 데이터베이스란 (0) | 2021.08.05 |

1. SELECT
- 내가 원하는 column을 '선택'할 때 쓰는 것.
SELECT
COLUMN1
COLUMN2
FROM DATABASE
;
- 안에 있는거 다내놔
SELECT
*
FROM DATABASE
- DUAL : 더미 데이터, 빈 데이터, 임시 저장 용도로 흔히 쓰이는 듯
SELECT (10 + 2) / S AS VAL
FROM dual
;
ORDER BY
SELECT
..
ORDER BY column [DESC/ASC]
- 다중 정렬도 가능
SELECT
…
FROM ..
ORDER BY COL1, COL2 DESC
→ COL1은 오름차순 // COL2는 내림차순
SELECT DISTINCT문
- 중복된 값이 없도록 나오게 만듬.
SELECT
DISTINCT COL1
FROM …
ORDER BY …
→ COL1에서 중복된 데이터가 없게 나온다.
WHERE절
SELECT
…
FROM …
WHERE COL1 = “VALS”
→ COL1의 데이터가 VALS인 것만 나온다.
- 그 외
WHERE
COL1 > NUM -- 둘이 동시에 만족하는 셀들 출력
AND
COL2 = 4;
COL1 BETWEEN 300 AND 400 : 300에서 400사이인 COLUMN값
COL1 IN (1, 4) : COL1이 1 혹은 4인 행들을 출력
COL1 IN ‘Asus%’ : COL1이 Asus로 시작하는 행들 출력
INSERT
INSERT INTO
DATABASE (
COL1,
COL2,
COL3
)
VALUES (
VAL1,
VAL2,
VAL3
);
COMMIT;
- COMMIT을 반드시 해줘야 한다. ‘이걸 넣을 거야. 결정했음’ 이런 뜻
UPDATE
UPDATE DB
SET COL3 = 130
, COL2 = 120
WHERE COL1 = 1;
COMMIT;
WHERE 절이 없는 UPDATE문은 매우 위험한 작업. 하지말자
DELETE
DELETE
FROM DB
WHERE COL1 = VAL1
AND COL2 = VAL2
;
COMMIT;
VIEW
: SQL 문들의 그릇같은 역할.
- 너무 자주 쓰면 성능상 안좋다고 함.
INLINE VIEW
SELECT 변수명
FROM (SELECT 변수명 \N FROM 데이터 \N WHERE 조건)
이것 처럼 FROM 안에 넣을 수 있는 조건 섞인 데이터 뭉치들
VIEW 활용
- 선언
CREATE OR REPLACE VIEW 뷰 이름 AS
SQL문
…
- 사용
SELECT 컬럼명
FROM 뷰 이름
서브 쿼리
- 메인 쿼리 안에 있는 쿼리
- 스칼라 서브 쿼리
예시


이처럼 테이블 안에 있는 데이터들을 활용해서 추가적인 열을 만들 수 있음.
AVG_LIST_PRICE : 해당 제품이 위치하고 있는 제품 카테고리의 평균 가격도 같이 구함
인라인 뷰 서브쿼리

ORDER_ITEM에 있는 ORDER_ID와 QUANTITY*UNIT_PRICE( = ORDER_VALUE)를
ORDER_ID별로 고른 것을
ORDER_VALUE 순서로 나열한 자료에서
ORDER_ID와 ORDER_VALUE값에 대해서 가져오는데,
ROWNUM <= 10 이어야 함.
'정리' 카테고리의 다른 글
[데이터베이스 강의 정리] 6. 락과 데드락(Lock & Deadlock) (0) | 2021.08.05 |
---|---|
[데이터베이스 강의 정리] 5. 트랜잭션(Transaction) (0) | 2021.08.05 |
[데이터베이스 강의 정리] 3. 아키텍쳐 (0) | 2021.08.05 |
[데이터베이스 강의 정리] 2. 관계형 데이터 베이스 (0) | 2021.08.05 |
[데이터베이스 강의 정리] 1. 데이터베이스란 (0) | 2021.08.05 |