μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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
- μ°λΆν¬
- μλ° κΈ°μ΄
- μ΄μ체μ
- Database
- νμ΄μ¬ μ²Όλ¦°μ§
- java
- νμ΄μ¬ μ±λ¦°μ§
- λ¬μ€νΈ
- λ°±μ€
- Reversing
- λ¬μ€νΈ νλ‘κ·Έλλ° κ³΅μ κ°μ΄λ
- λ°±μ€ λ¬μ€νΈ
- C
- λ°μ΄ν° ν΅μ
- μ€λΌν΄
- νμ΄μ¬
- Python
- data communication
- ubuntu
- Operating System
- μκ³ λ¦¬μ¦
- Python challenge
- OS
- μλ°
- λ°μ΄ν°λ² μ΄μ€
- λ¬μ€νΈ μμ
- νμ΄μ¬ μκ³ λ¦¬μ¦
- Rust
- μλ° κ°λ
- μ€λΌν΄DB
Archives
- Today
- Total
IT’s Portfolio
[Lecture] DataBase - Mid Summary λ³Έλ¬Έ
728x90
λ°μν
π» 2023λ λ°μ΄ν°λ² μ΄μ€ μ€κ°κ³ μ¬ λλΉ μμ μ 리
π [01] λ°μ΄ν°λ² μ΄μ€ κΈ°λ³Έ κ°λ
λ°μ΄ν°λ² μ΄μ€μ μ μ
λ°μ΄ν°λ² μ΄μ€(DB; DataBase)
λ νΉμ μ‘°μ§μ μ¬λ¬ μ¬μ©μκ° κ³΅μ νμ¬ μ¬μ©ν μ μλλ‘ ν΅ν©ν΄μ μ μ₯ν μ΄μ λ°μ΄ν°μ μ§ν©κ³΅μ λ°μ΄ν°(shared data)
: νΉμ μ‘°μ§μ μ¬λ¬ μ¬μ©μκ° ν¨κ» μμ νκ³ μ΄μ©ν μ μμ΄μΌ νλ κ³΅μ© λ°μ΄ν°ν΅ν© λ°μ΄ν°(integrated data)
: μ€λ³΅μ μ΅μννκ³ ν΅μ κ° κ°λ₯ν μ€λ³΅λ§ νμ©νλ λ°μ΄ν°μ μ₯ λ°μ΄ν°(stored data)
: μ»΄ν¨ν°κ° μ κ·Όν μ μλ 맀체μ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ μ₯ν΄μΌ ν¨μ΄μ λ°μ΄ν°(operational data)
: μ‘°μ§μ μ΄μνκ³ μ‘°μ§μ μ£Όμ κΈ°λ₯μ μννκΈ° μν΄ κΌ νμν¨
λ°μ΄ν°λ² μ΄μ€μ νΉμ§
μ€μκ° μ κ·Όμ±(real-time accessibility)
- μ¬μ©μμ λ°μ΄ν° μꡬμ μ€μκ°μΌλ‘ μλ΅
κ³μ λ³ν(continuous evolution)
- λ°μ΄ν°λ₯Ό κ³μ μ½μ , μμ , μμ νμ¬ νμ¬μ μ νν λ°μ΄ν°λ₯Ό μ μ§
λμ 곡μ (concurrent sharing)
- μλ‘ λ€λ₯Έ λ°μ΄ν°λ₯Ό λμμ μ¬μ©νλ κ²λΏ μλλΌ, κ°μ λ°μ΄ν°λ₯Ό λμμ μ¬μ©νλ κ²λ λͺ¨λ μ§μ
λ΄μ©μΌλ‘ μ°Έμ‘°(content reference)
- μ μ₯λ μ£Όμλ μμΉκ° μλ λ°μ΄ν°μ λ΄μ©, μ¦ κ°μΌλ‘ μ°Έμ‘°ν μ μμ
π [02] λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν
λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μ μ£Όμ κΈ°λ₯
- μ μ κΈ°λ₯ : λ°μ΄ν°λ² μ΄μ€ ꡬ쑰λ₯Ό μ μνκ±°λ μμ ν μ μμ
DDL(Data Definition Language)
- μ‘°μ κΈ°λ₯ : λ°μ΄ν°λ₯Ό μ½μ
, μμ , μμ , κ²μνλ μ°μ°μ ν μ μμ
DML(Data Manipulation Language)
- μ μ΄ κΈ°λ₯ : λ°μ΄ν°λ₯Ό νμ μ ννκ³ μμ νκ² μ μ§ν μ μμ
DCL(Data Control Language)
π [04] λ°μ΄ν° λͺ¨λΈλ§
λ°μ΄ν° λͺ¨λΈμ ꡬμ±
λ°μ΄ν° ꡬ쑰(data structure)
- κ°λ μ λ°μ΄ν° λͺ¨λΈμμ λ°μ΄ν° ꡬ쑰 : νμ€ μΈκ³λ₯Ό κ°λ μΈκ³λ‘ μΆμννμ λ μ΄λ€ μμλ‘ μ΄λ£¨μ΄μ Έ μλμ§λ₯Ό νν
- λ Όλ¦¬μ λ°μ΄ν° λͺ¨λΈμμ λ°μ΄ν° ꡬ쑰 : λ°μ΄ν°λ₯Ό μ΄λ€ λͺ¨μ΅μΌλ‘ μ μ₯ν κ²μΈμ§λ₯Ό νν
- μ μ μΈ νΉμ§μ κ°μ§
μ°μ°(operation)
- κ°λ μΈκ³λ μ»΄ν¨ν° μΈκ³μμ μ€μ λ‘ ννλ κ°λ€μ μ²λ¦¬νλ μμ
- λμ μΈ νΉμ§μ κ°μ§
μ μ½μ‘°κ±΄(constraint)
-> λ°μ΄ν° λ¬΄κ²°μ± μ μ§ λͺ©μ - ꡬ쑰μ μΈ‘λ©΄μ μ μ½ μ¬νκ³Ό μ°μ°μ μ μ©νλ κ²½μ° νμ©ν μ μλ μλ―Έμ μΈ‘λ©΄μ μ μ½ μ¬ν
E-R λ€μ΄μ΄κ·Έλ¨
κ°μ²΄(entity)
: μ¬κ°ν νν, μ¬κ°ν λ΄μ κ°μ²΄μ μ΄λ¦ νκΈ°- μ μ₯ν λ§ν κ°μΉκ° μλ μ€μ λ°μ΄ν°λ₯Ό κ°μ§κ³ μλ μ¬λμ΄λ μ¬λ¬Ό λ±
μμ±(attribute)
: νμ νν, νμ λ΄μ μμ±μ μ΄λ¦ νκΈ°- κ°μ²΄κ° κ°λ κ³ μ ν νΉμ±
- (1) μμ± κ°μ κ°μ
λ¨μΌκ° μμ±(single-valued attribute)
- νΉμ κ°μ²΄λ₯Ό ꡬμ±νλ μμ± κ°μ΄ νλ
λ€μ€κ° μμ±(multi-valued attribute)
: μ΄μ€ νμ νν- μμ±μ΄ κ°μ μ¬λ¬ κ° κ°μ§ μ μμ
- (2) μλ―Έμ λΆν΄ κ°λ₯μ±
λ¨μ μμ±(simple attribute)
- μλ―Έλ₯Ό λλ λΆν΄ν μ μμ
λ³΅ν© μμ±(composite attribute)
: κ°μ νμμΌλ‘ νΈλ¦¬ κ΅¬μ‘°λ‘ νν- μλ―Έλ₯Ό λΆν΄ν μ μμ΄ κ°μ΄ μ¬λ¬ κ°μ μλ―Έλ₯Ό ν¬ν¨
- (3) κΈ°μ‘΄ μμ± κ°μμ μ λ
μ λ μμ±(derived attribute)
: μ μ νμ νν
λ μμ±(null attribute)
- μμ§ κ²°μ λμ§ μμκ±°λ λͺ¨λ₯΄λ κ°μΈ λ κ°μ νμ©νλ μμ±
ν€ μμ±(key attribute)
: λ°μ€μ κ·Έμ΄ νν- κ° κ°μ²΄ μΈμ€ν΄μ€λ€μ μλ³νλ λ° μ¬μ©
κ΄κ³(relationship)
: λ§λ¦λͺ¨ νν- κ°μ²΄μ κ°μ²΄κ° λ§Ίκ³ μλ μλ―Έ μλ μ°κ΄μ±
- κ°μ²΄ μ§ν©λ€ μ¬μ΄μ
λμ κ΄κ³(correspondence)
, μ¦λ§€ν(mapping)
μλ―Έ - (1) κ΄κ³μ μ ν
맀ν μΉ΄λλ리ν°(mapping cardinality)
κΈ°μ€1:1
κ΄κ³1:n
κ΄κ³n:m
κ΄κ³
- (2) κ΄κ³μ μ°Έμ¬ νΉμ±
νμμ μ°Έμ¬
: μ΄μ€μ νν- λͺ¨λ κ°μ²΄ μΈμ€ν΄μ€κ° κ΄κ³μ λ°λμ μ°Έμ¬ν΄μΌ ν¨
μ νμ μ°Έμ¬
- κ°μ²΄ μΈμ€ν΄μ€ μ€ μΌλΆλ§ κ΄κ³μ μ°Έμ¬ν΄λ λ¨
- (3) κ΄κ³μ μ’
μμ±
μ½ν κ°μ²΄(weak entity)
: μ΄μ€ μ¬κ°ν νν, μ½ν κ°μ²΄κ° κ°ν κ°μ²΄μ λ§Ίλ κ΄κ³λ μ΄μ€ λ§λ¦λͺ¨ νν- λ€λ₯Έ κ°μ²΄μ μ‘΄μ¬ μ¬λΆμ μμ‘΄μ μΈ κ°μ²΄
κ°ν κ°μ²΄(strong entity)
- λ€λ₯Έ κ°μ²΄μ μ‘΄μ¬ μ¬λΆλ₯Ό κ²°μ νλ κ°μ²΄
π [05] κ΄κ³ λ°μ΄ν° λͺ¨λΈ
κ΄κ³ λ°μ΄ν° λͺ¨λΈμ κΈ°λ³Έ μ©μ΄
릴λ μ΄μ (relation)
: νλμ κ°μ²΄μ κ΄ν λ°μ΄ν°λ₯Ό 2μ°¨μ ν μ΄λΈ κ΅¬μ‘°λ‘ μ μ₯ν κ²νμΌ(file)
μμ±(attribute)
: 릴λ μ΄μ μμ΄(column)
νλ(field)
νν(tuple)
: 릴λ μ΄μ μν(row)
λ μ½λ(record)
λλ©μΈ(domain)
: μμ± νλκ° κ°μ§ μ μλ λͺ¨λ κ°μ μ§ν©- μΌλ°μ μΌλ‘ μμ±μ νΉμ±μ κ³ λ €ν λ°μ΄ν° νμ μΌλ‘ μ μ
λ κ°(null)
: μμ± κ°μ μμ§ λͺ¨λ₯΄κ±°λ, μ ν©ν κ°μ΄ μμμ ννμ°¨μ(degree)
: νλμ 릴λ μ΄μ μμ μμ±μ μ 체 κ°μ- μ μ μΈ νΉμ§
μΉ΄λλ리ν°(cardinality)
: νλμ 릴λ μ΄μ μμ ννμ μ 체 κ°μ- λμ μΈ νΉμ§
ν€μ μ’ λ₯
ν€(key)
: 릴λ μ΄μ μ ν¬ν¨λ ννμλ€ μ μΌνκ² κ΅¬λ³ν΄μ£Όλ μμ± λλ μμ±λ€μ μ§ν©μ μΌμ±(uniqueness)
: νλμ 릴λ μ΄μ μμ λͺ¨λ ννμ μλ‘ λ€λ₯Έ ν€ κ°μ κ°μ ΈμΌ ν¨μ΅μμ±(minimality)
: κΌ νμν μ΅μνμ μμ±λ€λ‘λ§ ν€λ₯Ό ꡬμ±ν¨
μνΌν€(super key)
: μ μΌμ±μ νΉμ±μ λ§μ‘±νλ μμ± λλ μμ±λ€μ μ§ν©ν보ν€(candidate key)
: μ μΌμ±κ³Ό μ΅μμ±μ λ§μ‘±νλ μμ± λλ μμ±λ€μ μ§ν©κΈ°λ³Έν€(primary key)
: μ¬λ¬ νλ³΄ν€ μ€ κΈ°λ³Έμ μΌλ‘ μ¬μ©ν ν€- λ κ°μ κ°μ§ μ μλ μμ±μ΄ ν¬ν¨λ ν보ν€λ κΈ°λ³Έν€λ‘ λΆμ ν©ν¨
- κ°μ΄ μμ£Ό λ³κ²½λ μ μλ μμ±μ΄ ν¬ν¨λ ν보ν€λ κΈ°λ³Έν€λ‘ λΆμ ν©ν¨
- λ¨μν ν보ν€λ₯Ό κΈ°λ³Έν€λ‘ μ νν¨
λ체ν€(alternate key)
: κΈ°λ³Έν€λ‘ μ νλμ§ λͺ»ν ν보ν€λ€μΈλν€(foreign key)
: λ€λ₯Έ 릴λ μ΄μ μ κΈ°λ³Έν€λ₯Ό κ·Έλλ‘ μ°Έμ‘°νλ μμ±μ μ§ν©
κ΄κ³ λ°μ΄ν° λͺ¨λΈμ μ μ½
λ¬΄κ²°μ± μ μ½μ‘°κ±΄(integrity constraint)
: λ°μ΄ν°μ 무결μ±μ 보μ₯νκ³ μΌκ΄λ μνλ‘ μ μ§νκΈ° μν κ·μΉκ°μ²΄ λ¬΄κ²°μ± μ μ½μ‘°κ±΄(entity integrity constraint)
: κΈ°λ³Έν€λ₯Ό ꡬμ±νλ λͺ¨λ μμ±μ λ κ°μ κ°μ§ μ μμμ°Έμ‘° λ¬΄κ²°μ± μ μ½μ‘°κ±΄(referential integrity constraint)
: μΈλν€λ μ°Έμ‘°ν μ μλ κ°μ κ°μ§ μ μμ
π [06] κ΄κ³ λ°μ΄ν° μ°μ°
κ΄κ³ λμ μ°μ°μ - μμ κ΄κ³ μ°μ°μ
μ λ νΈ(select)
: 릴λ μ΄μ μμ μ£Όμ΄μ§ 쑰건μ λ§μ‘±νλ ννλ§ μ ννμ¬ κ²°κ³Ό 릴λ μ΄μ μ ꡬμ±- μνμ νν : $\sigma_{쑰건μ}(릴λ μ΄μ )$
- λ°μ΄ν° μΈμ΄μ νν :
릴λ μ΄μ where 쑰건μ
νλ‘μ νΈ(project)
: 릴λ μ΄μ μμ μ νν μμ±μ ν΄λΉνλ κ°μΌλ‘ κ²°κ³Ό 릴λ μ΄μ μ ꡬμ±- μνμ νν : $\pi_{μμ±λ¦¬μ€νΈ}(릴λ μ΄μ )$
- λ°μ΄ν° μΈμ΄μ νν :
릴λ μ΄μ [μμ±λ¦¬μ€νΈ]
μ‘°μΈ(join)
:μ‘°μΈ μμ±(join attribute)
μ μ΄μ©ν΄ λ 릴λ μ΄μ μ μ‘°ν©νμ¬ νλμ κ²°κ³Ό 릴λ μ΄μ μ ꡬμ±- μ‘°μΈ μμ± : λ 릴λ μ΄μ μ΄ κ³΅ν΅μΌλ‘ κ°μ§κ³ μλ μμ±μΌλ‘, λ 릴λ μ΄μ μ΄ κ΄κ³κ° μμμ λνλ
- ννλ² : $릴λ μ΄μ 1 \bowtie 릴λ μ΄μ 2$
μΈν μ‘°μΈ(theta-join)
: λλ± μ‘°μΈμ λΉν΄ μ’ λ μΌλ°νλ μ‘°μΈ- μ£Όμ΄μ§ μ‘°μΈ μ‘°κ±΄μ λ§μ‘±νλ λ 릴λ μ΄μ μ λͺ¨λ ννμ μ°κ²°ν μλ‘μ΄ ννλ‘ κ²°κ³Ό 릴λ μ΄μ μ ꡬμ±
- ννλ² : $릴λ μ΄μ 1 \bowtie_{A \theta B} 릴λ μ΄μ 2$
- $\theta$ μλ λΉκ΅ μ°μ°μλ₯Ό λ€μνκ² μ½μ
νμ¬ μ‘°κ±΄μ ννν μ μμ
- $\theta$ μ°μ°μκ° $=$ μΈ μΈν μ‘°μΈμ΄ λλ± μ‘°μΈμ
μμ° μ‘°μΈ(natural join)
: λλ± μ‘°μΈμ κ²°κ³Ό 릴λ μ΄μ μμ μ€λ³΅λ μμ±μ μ κ±°νμ¬ μ‘°μΈ μμ±μ΄ ν λ²λ§ λνλκ² νλ μ°μ°- ννλ² : $릴λ μ΄μ 1 \bowtie_N 릴λ μ΄μ 2$
μΈν μ‘°μΈ
μμ $=$ μ°μ°μλ₯Ό μ΄μ©ν΄ μ‘°μΈ μ‘°κ±΄μ ννν κ²μ΄λλ± μ‘°μΈ
μΈ κ²μ΄κ³λλ± μ‘°μΈ
μμ μ€λ³΅λ μ‘°μΈ μμ±μ μ κ±°νλ©΄μμ° μ‘°μΈ
μΈ κ²μ
κ΄κ³ λμ μ°μ°μ - νμ₯λ κ΄κ³ λμ μ°μ°μ
- μμ° μ‘°μΈ μ°μ°μ νμ₯ν μΈλ―Έ μ‘°μΈκ³Ό μΈλΆ μ‘°μΈ
μΈλ―Έ μ‘°μΈ(semi-join)
- 릴λ μ΄μ
Sμ μ‘°μΈ μμ±μΌλ‘λ§ κ΅¬μ±ν(νλ‘μ νΈν) 릴λ μ΄μ
μ 릴λ μ΄μ
Rμ μμ° μ‘°μΈνλ κ²
- ννλ² : $R β S$
- κ²μμ λΆνμν μμ±μ 미리 μ κ±°νμ¬ μ‘°μΈ μ°μ°μ λΉμ©μ μ€μΌ μ μμ
μΈλΆ μ‘°μΈ(outer-join)
- λ 릴λ μ΄μ
μ μμ° μ‘°μΈ μ°μ°μ μνν λ μ‘°μΈ μμ± κ°μ΄ κ°μ ννμ΄ μλ 릴λ μ΄μ
μ μ‘΄μ¬νμ§ μμ μ‘°μΈ μ°μ°μμ μ μΈλ λͺ¨λ ννμ κ²°κ³Ό 릴λ μ΄μ
μ ν¬ν¨
- κ²°κ³Ό 릴λ μ΄μ μ μμ± κ°μ΄ μλ κ²½μ°λ λ κ°μΌλ‘ μ²λ¦¬
- μΌμͺ½ μΈλΆ μ‘°μΈ, μ€λ₯Έμͺ½ μΈλΆ μ‘°μΈ, μμ μΈλΆ μ‘°μΈ
- λͺ¨λ ννμ κ²°κ³Ό 릴λ μ΄μ μΌλ‘ κ°μ Έμ€κ³ μ νλ 릴λ μ΄μ μ΄ λ¬΄μμ΄λμ λ°λΌ λΆλ₯
- μ‘°μΈ μ°μ°μμ μ μΈλ ννμ ν¬ν¨
μΌμͺ½ μΈλΆ μ‘°μΈ
- μΌμͺ½μ μλ 첫 λ²μ§Έ 릴λ μ΄μ μ μ‘΄μ¬νλ λͺ¨λ ννμ κ²°κ³Ό 릴λ μ΄μ μ ν¬ν¨
μ€λ₯Έμͺ½ μΈλΆ μ‘°μΈ
- μ€λ₯Έμͺ½μ μλ λ λ²μ§Έ 릴λ μ΄μ μ μ‘΄μ¬νλ λͺ¨λ ννμ κ²°κ³Ό 릴λ μ΄μ μ ν¬ν¨
μμ μΈλΆ μ‘°μΈ
- μ°μ°μ μ°Έμ¬νλ λ 릴λ μ΄μ μ μλ λͺ¨λ ννμ κ²°κ³Ό 릴λ μ΄μ μ ν¬ν¨
- λ 릴λ μ΄μ
μ μμ° μ‘°μΈ μ°μ°μ μνν λ μ‘°μΈ μμ± κ°μ΄ κ°μ ννμ΄ μλ 릴λ μ΄μ
μ μ‘΄μ¬νμ§ μμ μ‘°μΈ μ°μ°μμ μ μΈλ λͺ¨λ ννμ κ²°κ³Ό 릴λ μ΄μ
μ ν¬ν¨
π [07] λ°μ΄ν°λ² μ΄μ€ μΈμ΄ SQL
ν μ΄λΈ μμ± - create table λ¬Έ
create table Customer (
id varchar(10) not null,
name varchar(20) not null,
age int,
class varchar(10) not null,
job varchar(20),
reserves int default 0,
primary key(id)
);
- κ³ κ° ν μ΄λΈ μμ±
create table Product (
id char(3) not null,
name varchar(20),
inventory int,
price int,
manufacturer varchar(20),
primary key(id),
check(inventory between 0 and 10000)
);
- μ ν ν μ΄λΈ μμ±
- λ°μ΄ν° λ¬΄κ²°μ± μ μ½μ‘°κ±΄μ μ μ
check
- ν μ΄λΈμ μ ννκ³ μ ν¨ν λ°μ΄ν°λ₯Ό μ μ§νκΈ° μν΄ νΉμ μμ±μ λν μ μ½μ‘°κ±΄μ μ§μ
constraint
ν€μλμ ν¨κ» κ³ μ μ μ΄λ¦μ λΆμ¬ν μ μμ
create table Order (
id char(3) not null,
customer varchar(10),
product char(3),
quantity int,
address varchar(30),
day date,
primary key(id),
foreign key(customer) references Customer(id),
foreign key(product) references Product(id)
);
- μ£Όλ¬Έ ν μ΄λΈ μμ±
λ°μ΄ν° κ²μ - select λ¬Έ
select [ all | distinct ] <attribute_list>
from <table_list>;
- κΈ°λ³Έ κ²μ λͺ λ Ή νμ
- μμ± λ¦¬μ€νΈμ μ λμ΄ μ μμ±μ μμλ 무μλ―Έν¨
all
: κ²°κ³Ό ν μ΄λΈμ΄ ννμ μ€λ³΅μ νμ©νλλ‘ μ§μ , μλ΅ κ°λ₯distinct
: κ²°κ³Ό ν μ΄λΈμ΄ ννμ μ€λ³΅μ νμ©νμ§ μλλ‘ μ§μ
select name, price as value from Product;
- μ ν ν μ΄λΈμμ μ νλͺ κ³Ό λ¨κ°λ₯Ό κ²μνλ, λ¨κ°λ₯Ό κ°κ²©μ΄λΌλ μλ‘μ΄ μ΄λ¦μΌλ‘ μΆλ ₯
as
: λ³μΉ μ§μ
select name, price+500 as adjustment_price from Product;
- μ ν ν μ΄λΈμμ μ νλͺ κ³Ό λ¨κ° μμ±μ κ²μνλ, λ¨κ°μ 500μμ λν΄ 'μ‘°μ λ¨κ°' λΌλ μ μ΄λ¦μΌλ‘ μΆλ ₯
select product, quantity, day from Order where customer='apple' and quantity>=15;
- μ£Όλ¬Έ ν μ΄λΈμμ apple κ³ κ°μ΄ 15κ° μ΄μ μ£Όλ¬Έν μ£Όλ¬Έμ ν, μλ, μ£Όλ¬ΈμΌμ κ²μ
select product, quantity, day, customer from Orderr where customer='apple' or quantity>=15;
- μ£Όλ¬Έ ν μ΄λΈμμ apple κ³ κ°μ΄ μ£Όλ¬Ένκ±°λ 15κ° μ΄μ μ£Όλ¬Έλ μ νμ μ£Όλ¬Έμ ν, μλ, μ£Όλ¬ΈμΌμ, μ£Όλ¬Έκ³ κ°μ κ²μ
select name, price, manufacturer from Product where price between 2000 and 3000;
- μ ν ν μ΄λΈμμ λ¨κ°κ° 2,000μ μ΄μμ΄λ©΄μ 3,000μ μ΄νμΈ μ νμ μ νλͺ , λ¨κ°, μ μ‘°μ 체λ₯Ό κ²μ
select name, class, age from Customer order by age desc;
- κ³ κ° ν μ΄λΈμμ κ³ κ°μ΄λ¦, λ±κΈ, λμ΄λ₯Ό κ²μνλ, λμ΄λ₯Ό κΈ°μ€μΌλ‘ λ΄λ¦Όμ°¨μ μ λ ¬
select customer, product, quantity, day from Orderr where quantity >= 10
order by product asc, quantity desc;
- μ£Όλ¬Έ ν μ΄λΈμμ μλμ΄ 10κ° μ΄μμΈ μ£Όλ¬Έμ μ£Όλ¬Έκ³ κ°, μ£Όλ¬Έμ ν, μλ, μ£Όλ¬ΈμΌμλ₯Ό κ²μ. λ¨, μ£Όλ¬Έμ νμ κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬νκ³ , λμΌ μ νμ μλμ κΈ°μ€μΌλ‘ λ΄λ¦Όμ°¨μ μ λ ¬
count(*)
: μ 체 ννμ κ°μmax(quantity)
: μλμμ μ μΌ ν° κ°
ν¨μ | μλ―Έ | μ¬μ© κ°λ₯ν μμ±μ νμ |
---|---|---|
count | μμ± κ°μ κ°μ | λͺ¨λ λ°μ΄ν° |
max | μμ± κ°μ μ΅λκ° | λͺ¨λ λ°μ΄ν° |
min | μμ± κ°μ μ΅μκ° | λͺ¨λ λ°μ΄ν° |
sum | μμ± κ°μ ν©κ³ | μ«μ λ°μ΄ν° |
avg | μμ± κ°μ νκ· | μ«μ λ°μ΄ν° |
- νΉμ μμ± κ°μ ν΅κ³μ μΌλ‘ κ³μ°ν κ²°κ³Όλ₯Ό κ²μνκΈ° μν΄
μ§κ³ ν¨μ(aggregate function)
μ¬μ©μ΄ ν¨μ(column function)
λΌκ³ λ ν¨
- λμΈ μμ± κ°μ μ μΈνκ³ κ³μ°ν¨
where
μ μμλ μ¬μ© λΆκ°λ₯select
λhaving
μ μμλ§ μ¬μ© κ°λ₯
/* where */
select sum(inventory) as total_inventory from Product where manufacturer='νλΉμ κ³Ό';
/* group by */
select sum(inventory) as total_inventory from Product group by manufacturer having manufacturer='νλΉμ κ³Ό';
- νλΉμ κ³Όμμ μ μ‘°ν μ νμ μ¬κ³ λ ν©κ³λ₯Ό μ ν ν μ΄λΈμμ κ²μ
/* μ«μ μμλ‘ μ°μ°λ¨ */
(5)select [ all | distinct ] <attribute_list>
(1)from <table_list>
(2)[ where <condition> ]
(3)[ group by <attribute_list> (4)[ having <condition> ] ]
(6)[ order by <attribute_list> [ asc | desc ] ];
group by
: νΉμ μμ±μ κ°μ΄ κ°μ ννλ€μ λͺ¨μ κ·Έλ£Ήμ λ§λ€κ³ , κ·Έλ£Ήλ³λ‘ κ²μgroup by
ν€μλμ κ·Έλ£Ήμ λλλ κΈ°μ€μ΄ λλ μμ±μ μ§μ
having
: κ·Έλ£Ήμ λν 쑰건 μμ±- κ·Έλ£Ήμ λλλ κΈ°μ€μ΄ λλ μμ±μ
select
μ μλ μμ±νλ κ²μ΄ μ’μ
select manufacturer, count(*) as number_of_products, max(price) as highest_price
from Product group by manufacturer;
- μ ν ν μ΄λΈμμ μ μ‘°μ 체λ³λ‘ μ μ‘°ν μ νμ κ°μμ μ ν μ€ κ°μ₯ λΉμΌ λ¨κ°λ₯Ό κ²μνλ, μ νμ κ°μλ μ νμλΌλ μ΄λ¦μΌλ‘ μΆλ ₯νκ³ κ°μ₯ λΉμΌ λ¨κ°λ μ΅κ³ κ°λΌλ μ΄λ¦μΌλ‘ μΆλ ₯
select manufacturer, count(*) as number_of_products, max(price) as highest_price
from Product group by manufacturer having count(*)>=3;
- μ ν ν μ΄λΈμμ μ νμ 3κ° μ΄μ μ μ‘°ν μ μ‘°μ 체λ³λ‘ μ νμ κ°μμ, μ ν μ€ κ°μ₯ λΉμΌ λ¨κ°λ₯Ό κ²μ
select product, customer, sum(quantity) as total_quantity from Orderr
group by product, customer;
- μ£Όλ¬Έ ν μ΄λΈμμ κ° μ£Όλ¬Έκ³ κ°μ΄ μ£Όλ¬Έν μ νμ μ΄μ£Όλ¬Έμλμ μ£Όλ¬Έμ νλ³λ‘ κ²μ
- μ§κ³ ν¨μλ
group by
μ μ λͺ μλ μμ± μΈμ μμ±μselect
μ μ μμ± λΆκ° as
μλ΅ ν λ³μΉμ μμ λ°μ΄νλ‘ λ¬Άμ΄λ λ¨
728x90
λ°μν
'Development Study' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Lecture] Operating System - Mid Summary (0) | 2023.04.23 |
---|---|
[Lecture] Operating System with Ubuntu - Day 6 (0) | 2023.04.23 |
[Lecture] Operating System with Ubuntu - Day 5 (0) | 2023.04.17 |
[Lecture] DataBase - SQL Assignment (0) | 2023.04.16 |
[Lecture] Data Communication - Mid Summary (1) | 2023.04.14 |
Comments