์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- ๋ฌ์คํธ
- ๋ฐฑ์ค
- ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ
- OS
- rust example
- ํ์ด์ฌ ์ฑ๋ฆฐ์ง
- ์๊ณ ๋ฆฌ์ฆ
- ์ค๋ผํด
- ์๋ฐ ๊ฐ๋
- Python challenge
- ๋ฌ์คํธ ์์
- ์ด์์ฒด์
- ํ์ด์ฌ ์ฒผ๋ฆฐ์ง
- Rust
- Database
- ํ์ด์ฌ
- Reversing
- ์๋ฐ ๊ธฐ์ด
- data communication
- ๋ฐ์ดํฐ ํต์
- ๋ฐฑ์ค ๋ฌ์คํธ
- ubuntu
- ์๋ฐ
- ์ฐ๋ถํฌ
- ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐ ๊ณต์ ๊ฐ์ด๋
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Python
- ์ค๋ผํดDB
- java
- Operating System
Archives
- Today
- Total
IT’s Portfolio
[Lecture] DataBase - Day 6 ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๐ฅ DataBase - Day 6
- 2.5 ํ์ฅ๋ ๊ด๊ณ ๋์ ์ฐ์ฐ์
- ๊ธฐ๋ณธ ์ ๊ณต ์ฐ์ฐ์๋ฅผ ํ์ฅํ ์ฐ์ฐ์๋ค์ด ์ ์๋จ
- ์์ฐ ์กฐ์ธ ์ฐ์ฐ์ ํ์ฅํ ์ธ๋ฏธ ์กฐ์ธ๊ณผ ์ธ๋ถ ์กฐ์ธ
์ธ๋ฏธ ์กฐ์ธ(semi-join)
- ๋ฆด๋ ์ด์ S์ ์กฐ์ธ ์์ฑ์ผ๋ก๋ง ๊ตฌ์ฑํ(ํ๋ก์ ํธํ) ๋ฆด๋ ์ด์ ์ ๋ฆด๋ ์ด์ R์ ์์ฐ ์กฐ์ธํ๋ ๊ฒ
- ํํ๋ฒ : $R โ S$
- ๊ฒ์์ ๋ถํ์ํ ์์ฑ์ ๋ฏธ๋ฆฌ ์ ๊ฑฐํ์ฌ ์กฐ์ธ ์ฐ์ฐ์ ๋น์ฉ์ ์ค์ผ ์ ์์
- ๊ตํ์ ํน์ง์ด ์์
์ธ๋ถ ์กฐ์ธ(outer-join)
- ๋ ๋ฆด๋ ์ด์
์ ์์ฐ ์กฐ์ธ ์ฐ์ฐ์ ์ํํ ๋ ์กฐ์ธ ์์ฑ ๊ฐ์ด ๊ฐ์ ํํ์ด ์๋ ๋ฆด๋ ์ด์
์ ์กด์ฌํ์ง ์์ ์กฐ์ธ ์ฐ์ฐ์์ ์ ์ธ๋ ๋ชจ๋ ํํ์ ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์
์ ํฌํจ
- ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์ ์ ์์ฑ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๋ ๋ ๊ฐ์ผ๋ก ์ฒ๋ฆฌ
- ์ผ์ชฝ ์ธ๋ถ ์กฐ์ธ, ์ค๋ฅธ์ชฝ ์ธ๋ถ ์กฐ์ธ, ์์ ์ธ๋ถ ์กฐ์ธ
- ๋ชจ๋ ํํ์ ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์ ์ผ๋ก ๊ฐ์ ธ์ค๊ณ ์ ํ๋ ๋ฆด๋ ์ด์ ์ด ๋ฌด์์ด๋์ ๋ฐ๋ผ ๋ถ๋ฅ
- ์กฐ์ธ ์ฐ์ฐ์์ ์ ์ธ๋ ํํ์ ํฌํจ
์ผ์ชฝ ์ธ๋ถ ์กฐ์ธ
- ์ผ์ชฝ์ ์๋ ์ฒซ ๋ฒ์งธ ๋ฆด๋ ์ด์ ์ ์กด์ฌํ๋ ๋ชจ๋ ํํ์ ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์ ์ ํฌํจ
์ค๋ฅธ์ชฝ ์ธ๋ถ ์กฐ์ธ
- ์ค๋ฅธ์ชฝ์ ์๋ ๋ ๋ฒ์งธ ๋ฆด๋ ์ด์ ์ ์กด์ฌํ๋ ๋ชจ๋ ํํ์ ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์ ์ ํฌํจ
์์ ์ธ๋ถ ์กฐ์ธ
- ์ฐ์ฐ์ ์ฐธ์ฌํ๋ ๋ ๋ฆด๋ ์ด์ ์ ์๋ ๋ชจ๋ ํํ์ ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์ ์ ํฌํจ
- ๋ ๋ฆด๋ ์ด์
์ ์์ฐ ์กฐ์ธ ์ฐ์ฐ์ ์ํํ ๋ ์กฐ์ธ ์์ฑ ๊ฐ์ด ๊ฐ์ ํํ์ด ์๋ ๋ฆด๋ ์ด์
์ ์กด์ฌํ์ง ์์ ์กฐ์ธ ์ฐ์ฐ์์ ์ ์ธ๋ ๋ชจ๋ ํํ์ ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์
์ ํฌํจ
- ๊ธฐ๋ณธ ์ ๊ณต ์ฐ์ฐ์๋ฅผ ํ์ฅํ ์ฐ์ฐ์๋ค์ด ์ ์๋จ
[03] ๊ด๊ณ ํด์
๊ด๊ณ ํด์(relational calculus)
- ์ฒ๋ฆฌ๋ฅผ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ์ง๋ง ๊ธฐ์ ํ๋ ๋น์ ์ฐจ ์ธ์ด
- ์ํ์
ํ๋ ๋ํท ํด์(predicate calculus)
์ ๊ธฐ๋ฐ์ ๋ - ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ๊ณผ ์ฒ๋ฆฌ๋ฅผ ์๊ตฌํ๋ ํํ๋ ฅ์์ ๊ด๊ณ ๋์์ ๊ด๊ณ ํด์์ ๋ฅ๋ ฅ์ด ๋ชจ๋ ๋์ผ
ํํ ๊ด๊ณ ํด์(tuple relational calculus)
๊ณผ๋๋ฉ์ธ ๊ด๊ณ ํด์(domain relational calculus)
๋ก ๋ถ๋ฅ
๐๐ป [Chapter 07] ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด SQL
[01] SQL์ ์๊ฐ
SQL(Structured Query Language)
- ๊ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํ ํ์ค ์ง์์ด
- ๋น์ ์ฐจ์ ๋ฐ์ดํฐ ์ธ์ด
SEQUEL(Structured English QUEry Language)
์์ ์ ๋๋จSEQUEL
: ์ฐ๊ตฌ์ฉ ๊ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ธSYSTEM R
์ ์ํ ์ธ์ด
- ๋ฏธ๊ตญ ํ์ค ์ฐ๊ตฌ์์ธ
ANSI
์ ๊ตญ์ ํ์คํ ๊ธฐ๊ตฌ์ธISO
์์SQL
์ ๊ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ค ์ง์์ด๋ก ์ฑํํ๊ณ ํ์คํ ์์ ์งํ ๋ํ์ SQL
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ์ง์ ์ ๊ทผํ์ฌ ๋ํ์์ผ๋ก ์ง์๋ฅผ ์์ฑํ๊ณ ์คํ์ฝ์ SQL
: ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑํ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ์ ํ์ฌ ์คํ
- SQL์ ๋ถ๋ฅ
๋ฐ์ดํฐ ์ ์์ด(DDL; Data Definition Language)
: ํ ์ด๋ธ์ ์์ฑํ๊ณ ๋ณ๊ฒฝ๏น์ญ์ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํจ๋ฐ์ดํฐ ์กฐ์์ด(DML; Data Manipulation Language)
: ํ ์ด๋ธ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๊ฑฐ๋, ํ ์ด๋ธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ๏น์ญ์ ๏น๊ฒ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํจ๋ฐ์ดํฐ ์ ์ด์ด(DCL; Data Control Language)
: ๋ณด์์ ์ํด ๋ฐ์ดํฐ์ ๋ํ ์ ๊ทผ ๋ฐ ์ฌ์ฉ ๊ถํ์ ์ฌ์ฉ์๋ณ๋ก ๋ถ์ฌํ๊ฑฐ๋ ์ทจ์ํ๋ ๊ธฐ๋ฅ์ ํ๋ ์ธ์ด- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ์ฃผ๋ก ์ฌ์ฉ
[02] SQL์ ์ด์ฉํ ๋ฐ์ดํฐ ์ ์
- 2.1 SQL์ ๋ฐ์ดํฐ ์ ์ ๊ธฐ๋ฅ
- ํ ์ด๋ธ ์์ฑ, ์์ฑ๋ ํ ์ด๋ธ ๊ตฌ์กฐ์ ๋ณ๊ฒฝ, ํ ์ด๋ธ ์ญ์
- 2.2 ํ
์ด๋ธ์ ์์ฑ :
CREATE TABLE
CREATE TABLE ํ ์ด๋ธ_์ด๋ฆ ( 1. ์์ฑ_์ด๋ฆ ๋ฐ์ดํฐ_ํ์ [NOT NULL] [DEFAULT ๊ธฐ๋ณธ_๊ฐ] 2. [PRIMARY KEY (์์ฑ_๋ฆฌ์คํธ)] 3. [UNIQUE (์์ฑ_๋ฆฌ์คํธ)] 4 .[FOREIGN KEY (์์ฑ_๋ฆฌ์คํธ) REFERENCES ํ ์ด๋ธ_์ด๋ฆ(์์ฑ_๋ฆฌ์คํธ)] [ON DELETE ์ต์ ] [ON UPDATE ์ต์ ] 4. [CONSTRAINT ์ด๋ฆ] [CHECK(์กฐ๊ฑด)] ); /* 1. ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ ์์ฑ์ ์ด๋ฆ๊ณผ ๋ฐ์ดํฐ ํ์ , ๊ธฐ๋ณธ์ ์ธ ์ ์ฝ ์ฌํญ ์ ์ 2. ๊ธฐ๋ณธํค ์ ์ 3. ๋์ฒดํค ์ ์ 4. ์ธ๋ํค ์ ์ 5. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ํ ์ ์ฝ์กฐ๊ฑด ์ ์ []๋ก ํ์ํ ํญ๋ชฉ์ ์ต์ ์ด๊ธฐ์ ์๋ต ๊ฐ๋ฅ */
- ๋ชจ๋ SQL ๋ฌธ์
์ธ๋ฏธ์ฝ๋ก (;)
์ผ๋ก ๋ฌธ์ฅ ๋์ ํ์ํจ - SQL ๋ฌธ์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์
- ์์ฑ์ ์ ์
- ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ ์์ฑ์ ๋ฐ์ดํฐ ํ์ ์ ์ ํํ ํ์๋ ์์ฑ์ ๋ ๊ฐ ํ์ฉ ์ฌ๋ถ์ ๊ธฐ๋ณธ ๊ฐ ํ์ ์ฌ๋ถ๋ฅผ ๊ฒฐ์
CREATE TABLE
๋ฌธ์ผ๋ก ์์ฑ๋๋ ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ์์ฑ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ด ํ์ฉ๋จNOT NULL
: ์์ฑ์ด ๋ ๊ฐ์ ํ์ฉํ์ง ์์์ ์๋ฏธํ๋ ํค์๋- (EX)
๊ณ ๊ฐ์์ด๋ VARCHAR(20) NOT NULL
- (EX)
DEFAULT
: ์์ฑ์ ๊ธฐ๋ณธ ๊ฐ์ ์ง์ ํ๋ ํค์๋- (EX)
์ ๋ฆฝ๊ธ INT DEFAULT 0
- (EX)
๋ด๋น์ VARCHAR(10) DEFAULT '๋ฐฉ๊ฒฝ์'
- ๋ฌธ์์ด์ด๋ ๋ ์ง ๋ฐ์ดํฐ๋ ์์๋ฐ์ดํ๋ก ๋ฌถ์ด์ ํํ
- ์์๋ฐ์ดํ๋ก ๋ฌถ์ธ ๋ฌธ์์ด์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํจ
- (EX)
- ์์ฑ์ ๋ฐ์ดํฐ ํ์
- ํค์ ์ ์
PRIMARY KEY
: ๊ธฐ๋ณธํค ์ง์ - (EX)
PRIMARY KEY(๊ณ ๊ฐ์์ด๋)
- (EX)
PRIMARY KEY(์ฃผ๋ฌธ๊ณ ๊ฐ, ์ฃผ๋ฌธ์ ํ)
- (EX)
UNIQUE
: ๋์ฒดํค ์ง์ - ๋์ฒดํค๋ก ์ง์ ๋ ์์ฑ์ ๊ฐ์ ์ ์ผ์ฑ์ ๊ฐ์ง๊ณ ๊ธฐ๋ณธํค๋ก ์ง์ ๋ ์์ฑ๊ณผ ๋ฌ๋ฆฌ ๋ ๊ฐ์ ๊ฐ์ง ์ ์์
- (EX)
UNIQUE(๊ณ ๊ฐ์ด๋ฆ)
FOREIGN KEY
: ์ธ๋ํค ์ง์ - ์ธ๋ํค๊ฐ ์ด๋ค ํ
์ด๋ธ์ ๋ฌด์จ ์์ฑ์ ์ฐธ์กฐํ๋์ง
REFERENCES
ํค์๋ ๋ค์์ ๋ช ํํ ์ ์ - ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด ์ ์ง๋ฅผ ์ํด ์ฐธ์กฐ๋๋ ํ
์ด๋ธ์์ ํํ์ ์ญ์ ํ ๋ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ง์ ํ๋ ์ต์
ON DELETE NO ACTION : ํํ์ ์ญ์ ํ์ง ๋ชปํ๊ฒ ํจ ON DELETE CASCADE : ๊ด๋ จ ํํ์ ํจ๊ป ์ญ์ ON DELETE SET NULL : ๊ด๋ จ ํํ์ ์ธ๋ํค ๊ฐ์ NULL๋ก ๋ณ๊ฒฝ ON DELETE SET DEFAULT : ๊ด๋ จ ํํ์ ์ธ๋ํค ๊ฐ์ ๋ฏธ๋ฆฌ ์ง์ ํ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ
- ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด ์ ์ง๋ฅผ ์ํด ์ฐธ์กฐ๋๋ ํ
์ด๋ธ์์ ํํ์ ๋ณ๊ฒฝํ ๋ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ง์ ํ๋ ์ต์
ON UPDATE NO ACTION : ํํ์ ๋ณ๊ฒฝํ์ง ๋ชปํ๊ฒ ํจ ON UPDATE CASCADE : ๊ด๋ จ ํํ์์ ์ธ๋ํค ๊ฐ์ ํจ๊ป ๋ณ๊ฒฝ ON UPDATE SET NULL : ๊ด๋ จ ํํ์ ์ธ๋ํค ๊ฐ์ NULL๋ก ๋ณ๊ฒฝ ON UPDATE SET DEFAULT : ๊ด๋ จ ํํ์ ์ธ๋ํค ๊ฐ์ ๋ฏธ๋ฆฌ ์ง์ ํ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ
- (EX)
FOREIGN KEY(์์๋ถ์) REFERENCES ๋ถ์(๋ถ์๋ฒํธ) ON DELETE CASCADE ON UPDATE CASCADE
- (EX)
FOREIFGN KEY(์์๋ถ์) REFERENCES ๋ถ์(๋ถ์๋ฒํธ)
- (EX)
- ์ธ๋ํค๊ฐ ์ด๋ค ํ
์ด๋ธ์ ๋ฌด์จ ์์ฑ์ ์ฐธ์กฐํ๋์ง
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ ์
CHECK
: ํน์ ์์ฑ์ ๋ํ ์ ์ฝ์กฐ๊ฑด ์ง์ - ํ ์ด๋ธ์์ ํญ์ ์ ํํ๊ณ ์ ํจํ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๊ธฐ ์ํด ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ํ ์ ์ฝ์กฐ๊ฑด์ ํํํ๋ ๋ฐฉ๋ฒ
CONSTRAINT
ํค์๋์ ํจ๊ป ๊ณ ์ ์ ์ด๋ฆ ๋ถ์ฌ ๊ฐ๋ฅ
- ๋ชจ๋ SQL ๋ฌธ์
- 2.3 ํ
์ด๋ธ์ ๋ณ๊ฒฝ :
ALTER TABLE
- ์๋ก์ด ์์ฑ ์ถ๊ฐ, ๊ธฐ์กด ์์ฑ ์ญ์ , ์๋ก์ด ์ ์ฝ์กฐ๊ฑด ์ถ๊ฐ, ๊ธฐ์กด ์ ์ฝ์กฐ๊ฑด ์ญ์ ๋ฑ์ด ๊ฐ๋ฅ
- ์๋ก์ด ์์ฑ์ ์ถ๊ฐ
ALTER TABLE ํ ์ด๋ธ_์ด๋ฆ ADD ์์ฑ_์ด๋ฆ ๋ฐ์ดํฐ_ํ์ [NOT NULL] [DEFAULT ๊ธฐ๋ณธ_๊ฐ];
- ๊ธฐ์กด ์์ฑ์ ์ญ์
ALTER TABLE ํ ์ด๋ธ_์ด๋ฆ DROP COLUMN ์์ฑ_์ด๋ฆ;
- ๋ง์ฝ ์ญ์ ํ ์์ฑ๊ณผ ๊ด๋ จ๋ ์ ์ฝ์กฐ๊ฑด์ด ์กด์ฌํ๊ฑฐ๋ ์ด ์์ฑ์ ์ฐธ์กฐํ๋ ๋ค๋ฅธ ์์ฑ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ์์ฑ์ ์ญ์ ํ ์ ์์
- ๊ด๋ จ๋ ์ ์ฝ์กฐ๊ฑด์ด๋ ์ฐธ์กฐํ๋ ๋ค๋ฅธ ์์ฑ์ ๋จผ์ ์ญ์ ํด์ผ ํจ
- ์๋ก์ด ์ ์ฝ์กฐ๊ฑด์ ์ถ๊ฐ
ALTER TABLE ํ ์ด๋ธ_์ด๋ฆ ADD CONSTRAINT ์ ์ฝ์กฐ๊ฑด_์ด๋ฆ ์ ์ฝ์กฐ๊ฑด_๋ด์ฉ;
- ๊ธฐ์กด ์ ์ฝ์กฐ๊ฑด์ ์ญ์
ALTER TABLE ํ ์ด๋ธ_์ด๋ฆ DROP CONSTRAINT ์ ์ฝ์กฐ๊ฑด_์ด๋ฆ;
- 2.4 ํ
์ด๋ธ์ ์ญ์ :
DROP TABLE
DROP TABLE ํ ์ด๋ธ_์ด๋ฆ;
- ์ญ์ ํ ํ
์ด๋ธ์ ์ฐธ์กฐํ๋ ํ
์ด๋ธ์ด ์๋ค๋ฉด ์ญ์ ๊ฐ ์ํ๋์ง ์์
- ์ญ์ ํ๊ณ ์ ํ๋ ํ ์ด๋ธ์ ์ฐธ์กฐํ๋ ์ธ๋ํค ์ ์ฝ์กฐ๊ฑด์ ๋จผ์ ์ญ์ ํด์ผ ํจ
- ์ญ์ ํ ํ
์ด๋ธ์ ์ฐธ์กฐํ๋ ํ
์ด๋ธ์ด ์๋ค๋ฉด ์ญ์ ๊ฐ ์ํ๋์ง ์์
[03] SQL์ ์ด์ฉํ ๋ฐ์ดํฐ ์กฐ์
3.1 SQL์ ๋ฐ์ดํฐ ์กฐ์ ๊ธฐ๋ฅ
- ๋ฐ์ดํฐ ๊ฒ์, ์๋ก์ด ๋ฐ์ดํฐ ์ฝ์ , ๋ฐ์ดํฐ ์์ , ๋ฐ์ดํฐ ์ญ์
3.2 ๋ฐ์ดํฐ์ ๊ฒ์ :
SELECT
๊ธฐ๋ณธ ๊ฒ์
SELECT [ ALL | DISTINCT ] ์์ฑ_๋ฆฌ์คํธ FROM ํ ์ด๋ธ_๋ฆฌ์คํธ;
SELECT
ํค์๋์ ํจ๊ป ๊ฒ์ํ๊ณ ์ถ์ ์์ฑ์ ์ด๋ฆ์์ฝค๋ง(,)
๋ก ๊ตฌ๋ถํ์ฌ ์ฐจ๋ก๋ก ๋์ดFROM
ํค์๋์ ํจ๊ป ๊ฒ์ํ๊ณ ์ถ์ ์์ฑ์ด ์๋ ํ ์ด๋ธ์ ์ด๋ฆ์์ฝค๋ง(,)
๋ก ์ฐจ๋ก๋ก ๋์ด- ํ ์ด๋ธ์ ๋์์ผ๋ก ํ๊ณ ์ํ ๊ฒฐ๊ณผ๋ ํ ์ด๋ธ
ALL
: ๊ฒฐ๊ณผ ํ ์ด๋ธ์ด ์ค๋ณต์ ํ์ฉํ๋๋ก ์ง์ , ์๋ต ๊ฐ๋ฅDISTINCT
: ๊ฒฐ๊ณผ ํ ์ด๋ธ์์ ํํ์ ์ค๋ณต์ ์ ๊ฑฐํ๊ณ ํ ๋ฒ์ฉ๋ง ์ถ๋ ฅ๋๋๋ก ์ง์ - ๋ชจ๋ ์์ฑ ๊ฒ์ ์
*
์ฌ์ฉ ๊ฐ๋ฅ AS
: ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ์ถ๋ ฅ๋๋ ์์ฑ์ ์ด๋ฆ์ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ๋ฐ๊พธ์ด ์ถ๋ ฅํ ์ ์์- ์ง์ ํ๋ ์ด๋ฆ์ ๊ณต๋ฐฑ์ด ํฌํจ๋์ด ์์ผ๋ฉด ์ค๋ผํด์์๋ ํฐ๋ฐ์ดํ, MS SQL ์๋ฒ์์๋ ์์๋ฐ์ดํ๋ก ๋ฌถ์ด์ค์ผ ํจ
- ์๋ต ๊ฐ๋ฅ
์ฐ์ ์์ ์ด์ฉํ ๊ฒ์
SELECT
ํค์๋์ ํจ๊ป ์ฐ์ ์ ์ ์- ์ฐ์ ์ : ์์ฑ์ ์ด๋ฆ๊ณผ $+, -, *, /$ ๋ฑ์ ์ฐ์ ์ฐ์ฐ์, ์์๋ก ๊ตฌ์ฑ
- ๊ฒฐ๊ณผ ํ
์ด๋ธ์์๋ง ๊ณ์ฐํ ๊ฒฐ๊ณผ ๊ฐ์ ์ถ๋ ฅ
- ์์ฑ์ ๊ฐ์ด ์ค์ ๋ก ๋ณ๊ฒฝ๋๋ ๊ฒ์ด ์๋
์กฐ๊ฑด ๊ฒ์
SELECT [ ALL | DISTINCT ] ์์ฑ_๋ฆฌ์คํธ FROM ํ ์ด๋ธ_๋ฆฌ์คํธ [ WHERE ์กฐ๊ฑด ];
- ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ง ๊ฒ์
WHERE
ํค์๋์ ํจ๊ป ๋น๊ต ์ฐ์ฐ์์ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๊ฒ์ ์กฐ๊ฑด์ ์ ์- ์กฐ๊ฑด์์ ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ์ซ์๋ฟ ์๋๋ผ ๋ฌธ์๋ ๋ ์ง ๊ฐ์ ๋น๊ตํ ์ ์์
- ์กฐ๊ฑด์์ ์ซ์ ๊ฐ์ ๊ทธ๋๋ก ์์ฑํด๋ ๋์ง๋ง ๋ฌธ์๋ ๋ ์ง ๊ฐ์ ์์ฑ์ ์ด๋ฆ๊ณผ ๊ตฌ๋ณํ ์ ์๋๋ก ์์๋ฐ์ดํ๋ก ๋ฌถ์ด์ผ ํจ
LIKE๋ฅผ ์ด์ฉํ ๊ฒ์
LIKE
ํค์๋๋ฅผ ์ด์ฉํด ๋ถ๋ถ์ ์ผ๋ก ์ผ์นํ๋ ๋ฐ์ดํฐ ๊ฒ์- ๊ฒ์ ์กฐ๊ฑด์ ์ ํํ ์๋ฉด $=$ ์ฐ์ฐ์๋ก ํํ
- ๋ฌธ์์ด์ ์ด์ฉํ๋ ์กฐ๊ฑด์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
LIKE
ํค์๋์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ๊ธฐํธ๊ธฐํธ ์ค๋ช % 0๊ฐ ์ด์์ ๋ฌธ์ (๋ฌธ์์ ๋ด์ฉ๊ณผ ๊ฐ์๋ ์๊ด ์์) _ 1๊ฐ์ ๋ฌธ์ (๋ฌธ์์ ๋ด์ฉ์ ์๊ด ์์) - (EX)
์ฌ์ฉ ์ ์ค๋ช LIKE '๋ฐ์ดํฐ%' ๋ฐ์ดํฐ๋ก ์์ํ๋ ๋ฌธ์์ด (๋ฐ์ดํฐ๋ก ์์ํ๊ธฐ๋ง ํ๋ฉด ๊ธธ์ด๋ ์๊ด ์์) LIKE '%๋ฐ์ดํฐ ๋ฐ์ดํฐ๋ก ๋๋๋ ๋ฌธ์์ด (๋ฐ์ดํฐ๋ก ๋๋๊ธฐ๋ง ํ๋ฉด ๊ธธ์ด๋ ์๊ด ์์) LIKE '%๋ฐ์ดํฐ%' ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋ฌธ์์ด LIKE '๋ฐ์ดํฐ___' ๋ฐ์ดํฐ๋ก ์์ํ๋ 6์ ๊ธธ์ด์ ๋ฌธ์์ด LIKE '__ํ%' ์ธ ๋ฒ์งธ ๊ธ์๊ฐ 'ํ'์ธ ๋ฌธ์์ด
NULL์ ์ด์ฉํ ๊ฒ์
IS NULL
: ๊ฒ์ ์กฐ๊ฑด์์ ํน์ ์์ฑ์ ๊ฐ์ด ๋ ๊ฐ์ธ์ง๋ฅผ ๋น๊ตIS NOT NULL
: ๊ฒ์ ์กฐ๊ฑด์์ ํน์ ์์ฑ์ ๊ฐ์ด ๋ ๊ฐ์ด ์๋์ง๋ฅผ ๋น๊ต- ๊ฒ์ ์กฐ๊ฑด์์ ๋ ๊ฐ์ ๋ค๋ฅธ ๊ฐ๊ณผ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋ชจ๋ ๊ฑฐ์ง์ด ๋จ
์ ๋ ฌ ๊ฒ์
SELECT [ ALL | DISTINCT ] ์์ฑ_๋ฆฌ์คํธ FROM ํ ์ด๋ธ_๋ฆฌ์คํธ [ WHERE ์กฐ๊ฑด ] [ ORDER BY ์์ฑ_๋ฆฌ์คํธ [ ASC | DESC ] ];
ORDER BY
: ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ๋ด์ฉ์ ์ฌ์ฉ์๊ฐ ์ํ๋ ์์๋ก ์ถ๋ ฅORDER BY
ํค์๋์ ํจ๊ป ์ ๋ ฌ ๊ธฐ์ค์ด ๋๋ ์์ฑ ์ง์ ASC(๊ธฐ๋ณธ)
: ์ค๋ฆ์ฐจ์ /DESC
: ๋ด๋ฆผ์ฐจ์- ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์์์๋ ๋งจ ๋ง์ง๋ง์ ์ถ๋ ฅ๋๊ณ ๋ด๋ฆผ์ฐจ์์์๋ ๋งจ ๋จผ์ ์ถ๋ ฅ๋จ
- ์ฌ๋ฌ ๊ธฐ์ค์ ๋ฐ๋ผ ์ ๋ ฌํ๋ ค๋ฉด ์ ๋ ฌ ๊ธฐ์ค์ด ๋๋ ์์ฑ์ ์ฐจ๋ก๋ก ์ ์
์ง๊ณ ํจ์๋ฅผ ์ด์ฉํ ๊ฒ์
ํน์ ์์ฑ ๊ฐ์ ํต๊ณ์ ์ผ๋ก ๊ณ์ฐํ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์ง๊ณ ํจ์ ์ด์ฉ
์ง๊ณ ํจ์(aggregate function)
ํจ์ ์๋ฏธ ์ฌ์ฉ ๊ฐ๋ฅํ ์์ฑ์ ํ์ COUNT ์์ฑ ๊ฐ์ ๊ฐ์ ๋ชจ๋ ๋ฐ์ดํฐ MAX ์์ฑ ๊ฐ์ ์ต๋๊ฐ ๋ชจ๋ ๋ฐ์ดํฐ MIN ์์ฑ ๊ฐ์ ์ต์๊ฐ ๋ชจ๋ ๋ฐ์ดํฐ SUM ์์ฑ ๊ฐ์ ํฉ๊ณ ์ซ์ ๋ฐ์ดํฐ AVG ์์ฑ ๊ฐ์ ํ๊ท ์ซ์ ๋ฐ์ดํฐ ์ด ํจ์(column function)
๋ผ๊ณ ๋ ํจ- ๊ฐ์, ํฉ๊ณ, ํ๊ท , ์ต๋๊ฐ, ์ต์๊ฐ์ ๊ณ์ฐ ๊ธฐ๋ฅ์ ์ ๊ณต
- ์ฃผ์ ์ฌํญ
- ์ง๊ณ ํจ์๋ ๋์ธ ์์ฑ ๊ฐ์ ์ ์ธํ๊ณ ๊ณ์ฐ
- ์ง๊ณ ํจ์๋
WHERE
์ ์์๋ ์ฌ์ฉํ ์ ์๊ณSELECT
์ ์ด๋HAVING
์ ์์๋ง ์ฌ์ฉํ ์ ์์
๊ทธ๋ฃน๋ณ ๊ฒ์
SELECT [ ALL | DISTINCT ] ์์ฑ_๋ฆฌ์คํธ FROM ํ ์ด๋ธ_๋ฆฌ์คํธ [ WHERE ์กฐ๊ฑด ] [ GROUP BY ์์ฑ_๋ฆฌ์คํธ [ HAVING ์กฐ๊ฑด ] ] [ ORDER BY ์์ฑ_๋ฆฌ์คํธ [ ASC | DESC ] ];
GROUP BY
: ํน์ ์์ฑ์ ๊ฐ์ด ๊ฐ์ ํํ์ ๋ชจ์ ๊ทธ๋ฃน์ ๋ง๋ค๊ณ , ๊ทธ๋ฃน๋ณ๋ก ๊ฒ์- ๊ทธ๋ฃน์ ๋๋๋ ๊ธฐ์ค์ด ๋๋ ์์ฑ์ ์ง์ ํจ
- ๊ทธ๋ฃน์ ๋ํ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ ค๋ฉด
GROUP BY
ํค์๋๋ฅผHAVING
ํค์๋์ ํจ๊ป ์ฌ์ฉ - ๊ทธ๋ฃน์ ๋๋๋ ๊ธฐ์ค์ด ๋๋ ์์ฑ์
SELECT
์ ์๋ ์์ฑํ๋ ๊ฒ์ด ์ข์
์ฌ๋ฌ ํ ์ด๋ธ์ ๋ํ ์กฐ์ธ ๊ฒ์
- ์กฐ์ธ ๊ฒ์ : ์ฌ๋ฌ ๊ฐ์ ํ ์ด๋ธ์ ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๊ฒ
- ์กฐ์ธ ์์ฑ : ์กฐ์ธ ๊ฒ์์ ์ํด ํ
์ด๋ธ์ ์ฐ๊ฒฐํด์ฃผ๋ ์์ฑ
- ํ ์ด๋ธ์ ์ฐ๊ฒฐํ๋ ค๋ฉด, ์กฐ์ธ ์์ฑ์ ์ด๋ฆ์ ๋ฌ๋ผ๋ ๋์ง๋ง ๋๋ฉ์ธ์ ๋ฐ๋์ ๊ฐ์์ผ ํจ
- ํ ์ด๋ธ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์ธ๋ํค๋ฅผ ์กฐ์ธ ์์ฑ์ผ๋ก ์ด์ฉ
FROM
์ ์ ๊ฒ์์ ํ์ํ ๋ชจ๋ ํ ์ด๋ธ์ ๋์ดWHERE
์ ์๋ ์กฐ์ธ ์์ฑ์ ๊ฐ์ด ๊ฐ์์ผ ํจ์ ์๋ฏธํ๋ ์กฐ์ธ ์กฐ๊ฑด์ ์ ์- ์ด๋ฆ์ด ๊ฐ์ ์์ฑ์ด ์๋ก ๋ค๋ฅธ ํ ์ด๋ธ์ ์กด์ฌํ ์๋ ์๊ธฐ์ ์์ฑ์ ์ด๋ฆ ์์ ํด๋น ์์ฑ์ด ์์๋ ํ ์ด๋ธ์ ์ด๋ฆ์ ํ์ํด์ฃผ๋ ๊ฒ์ด ์ข์
SELECT ์์ฑ_๋ฆฌ์คํธ FROM ํ ์ด๋ธ1 INNER JOIN ํ ์ด๋ธ2 ON ์กฐ์ธ์กฐ๊ฑด [ WHERE ๊ฒ์์กฐ๊ฑด ]
- ํ์ค SQL์์๋
INNER JOIN
๊ณผON
ํค์๋๋ฅผ ์ด์ฉํด ์์ฑํ๋ ๋ฐฉ๋ฒ๋ ์ ๊ณตํจ
SELECT ์์ฑ_๋ฆฌ์คํธ FROM ํ ์ด๋ธ1 LEFT | RIGHT | FULL OUTER JOIN ํ ์ด๋ธ2 ON ์กฐ์ธ ์กฐ๊ฑด [ WHERE ๊ฒ์์กฐ๊ฑด ];
- ์ธ๋ถ ์กฐ์ธ ๊ฒ์
- ์กฐ์ธ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋ ํํ์ ๋ํด์๋ ๊ฒ์์ ์ํ
OUTER JOIN
๊ณผON
ํค์๋๋ฅผ ์ด์ฉ- ๋ชจ๋ ํํ์ ๊ฒ์ ๋์์ผ๋ก ํ๋ ํ ์ด๋ธ์ด ๋ฌด์์ด๋์ ๋ฐ๋ผ ์ผ์ชฝ ์ธ๋ถ ์กฐ์ธ, ์ค๋ฅธ์ชฝ ์ธ๋ถ ์กฐ์ธ, ์์ ์ธ๋ถ ์กฐ์ธ์ผ๋ก ๋ถ๋ฅ
728x90
๋ฐ์ํ
'Development Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Lecture] DataBase - Summary (04~06) (0) | 2023.04.12 |
---|---|
[Lecture] Operating System with Ubuntu - Day 4 (0) | 2023.04.10 |
[Lecture] Data Communication - Day 5~6 (0) | 2023.04.06 |
[Lecture] DataBase - Day 5 (0) | 2023.04.03 |
[Lecture] Operating System with Ubuntu - Day 2~3 (0) | 2023.03.29 |
Comments