μ«μ λ°μ΄ν° μμ½νκΈ°
COUNT ν¨μ
- μ§κ³ ν¨μ μ 리
1. COUNT : νμ μλ₯Ό λνλ
=> NULLκ°μ ν¬ν¨ν μ 체 νμ μ : COUNT(*)
=> NULLκ°μ μ μΈν μ 체 νμ μ : COUNT(μ΄ μ΄λ¦)
=> μ€λ³΅μ μ μΈν νμ μ : COUNT(DISTINCT μ΄ μ΄λ¦)
2. SUM : νμ ν©κ³λ₯Ό λνλ
3. AVG : νμ νκ· μ λνλ
4. MAX : νμ μ΅λκ°μ λνλ
5. MIN : νμ μ΅μκ°μ λνλ
6. STDENV : νμ νμ€νΈμ°¨λ₯Ό λνλ
7. VARIANCE : νμ λΆμ°μ λνλ

1. STUD_SCORE ν μ΄λΈμ μ¬μ©νμ¬ NULL κ°μ μ μΈν μμ μ μ 보μ μλ₯Ό μΈλ €λ©΄?
SELECT COUNT(MUSIC_SCORE) AS MUSIC_CNT
FROM STUD_SCORE;
2. STUD_SCORE ν μ΄λΈμ μ¬μ©νμ¬ NULLκ° λ° μ€λ³΅λ κ°μ μ μΈν μμ΄ μ μ 보μ μλ₯Ό μΈλ €λ©΄?
SELECT COUNT(DISTINCT ENG_SCORE) AS ENG_CNT
FROM STUD_SCORE;
COUNT ν¨μλ λ°μ΄ν°μ κ²μ¦μ©μΌλ‘λ λ§μ΄ μ¬μ©λ¨
=> νΉμ ν ν μ΄λΈμ λ§λ€μμ λ κ·Έ ν μ΄λΈμ NULLκ°μ΄λ μ€λ³΅λ κ°μ΄ μλμ§ λμΌλ‘ μ°ΎκΈ° νλ¬
(COUNTλ‘ μ½κ² κ²μ¦ κ°λ₯)
3. STUD_SCORE ν μ΄λΈμ μ¬μ©νμ¬ μμ μ μμ νκ· μ ꡬνλ €λ©΄?
AVG ν¨μλ₯Ό μ¬μ©νλ©΄ NULLκ°μ κ°μ§ μ΄μ κ³μ°μμ μλ΅λμ΄ μ 체 νκ· κ°μ΄ μλͺ»λ μ μμΌλ―λ‘ μ£Όμν΄μΌν¨!!
=> COALESCE μ¬μ©
SELECT AVG(COALESCE(MUSIC_SCORE, 0)) AS MUSIC_AVG
FROM STUD_SCORE;
4. STUD_SCORE ν μ΄λΈμ μ¬μ©νμ¬ μν μ μμ μ΅λκ° λ° μ΅μκ°μ ꡬνλ €λ©΄?
SELECT MAX(MATH_SCORE) AS MAX_SCORE, MIN(MATH_SCORE) AS MIN_SCORE
FROM STUD_SCORE;
1. μ§κ³ ν¨μλ₯Ό μ¬μ©νλ©΄ NULLκ°μ κ³μ°μμ 무μλλ€
2. λ³μΉμ μ§μ ν λ ν μ΄λΈμ μ‘΄μ¬νλ μ΄ μ΄λ¦μ΄ μλ μλ‘μ΄ μ΄λ¦μΌλ‘ μ§μ νλ κ²μ΄ μ’μ
3. μ«μν λ°μ΄ν°λ₯Ό λΆμν λ SUM, AVG,MIN,MAX κ°μ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό κ²μ¦νλ κ²μ μ€μν¨
쑰건문 μ΄ν΄νκΈ°
CASE WHEN λ¬Έμ₯
1. CASE WHEN λ¬Έμ₯
[쑰건1]μ λ§μ‘±νλ©΄ [κ²°κ³Όκ°1]μ λνλ΄κ³ , [쑰건2]λ₯Ό λ§μ‘±νλ©΄ [κ²°κ³Όκ°2]λ₯Ό λνλΈλ€
λλ¨Έμ§λ [κ²°κ³Όκ°3]μΌλ‘ 보μ¬μ£Όκ³ μ΄λ€ κ²°κ³Όκ°μ [μλ‘μ΄ μ΄ μ΄λ¦]μΌλ‘ λνλ΄λΌλ λ»μ΄λ€!
=> 쑰건물μ λνλΌ λ μ¬μ©λκ³ νμ©λκ° λμ
SELECT μ΄ μ΄λ¦1,
CASE WHEN [쑰건1] THEN [κ²°κ³Όκ°1]
WHEN [쑰건2] THEN [κ²°κ³Όκ°2]
ELSE [κ²°κ³Όκ°3] END AS μλ‘μ΄ μ΄ μ΄λ¦
FROM ν
μ΄λΈλͺ
;

1. CLERKλ 7%, OFFICERλ 5%, MANAGERλ 3%λ‘ μ°λ΄μ μΈμνκΈ°λ‘ νμ λ STAFF_SAL ν μ΄λΈμ μ¬μ©νμ¬ κ° μ§μλ³ μΈμ μ°λ΄μ μμνλ €λ©΄?
SELECT ID, JOB, CURRENT_SAL,
CASE WHEN JOB = 'CLERK' THEN CURRENT_SAL * 1.07
WHEN JOB = 'OFFICER' THEN CURRENT_SAL * 1.05
WHEN JOB = 'MANAGER' THEN CURRENT_SAL * 1.03
ELSE CURRENT_SAL END AS NEXT_SAL
FROM STAFF_SAL;
CASE WHEN ν¨μμμ EQUAL μ‘°κ±΄λ§ μμ κ²½μ° DECODE ν¨μλ₯Ό μ¬μ©ν μ μλ€
(DBMS νΉμ±μ λ°λΌ μ§μμ΄ μλλ κ²½μ°λ μμ)
DECODE ν¨μ λ¬Έλ² :
DECODE(μ΄ μ΄λ¦, 쑰건1, κ²°κ³Όκ°1,
쑰건2, κ²°κ³Όκ°2,
쑰건3, κ²°κ³Όκ°3, κΈ°λ³Έκ°) μλ‘μ΄ μ΄ μ΄λ¦)
'π«§ Database > SQL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
ν μ΄λΈ ν©μΉκΈ° (1) | 2024.02.29 |
---|---|
λ°μ΄ν°μ κ·Έλ£Ήν, νν°λ§ (1) | 2024.02.27 |
SQL κΈ°λ³Έ ν¨μ λ°°μ°κΈ° (2) | 2024.02.26 |
ν μ€νΈ λ§μ΄λμ νμ©ν λ°μ΄ν° 쑰건 μ£ΌκΈ° (1) | 2024.02.26 |
λ Όλ¦¬μ°μ°μλ₯Ό νμ©ν λ°μ΄ν° 쑰건 μ£ΌκΈ° (0) | 2024.02.25 |
μ«μ λ°μ΄ν° μμ½νκΈ°
COUNT ν¨μ
- μ§κ³ ν¨μ μ 리
1. COUNT : νμ μλ₯Ό λνλ
=> NULLκ°μ ν¬ν¨ν μ 체 νμ μ : COUNT(*)
=> NULLκ°μ μ μΈν μ 체 νμ μ : COUNT(μ΄ μ΄λ¦)
=> μ€λ³΅μ μ μΈν νμ μ : COUNT(DISTINCT μ΄ μ΄λ¦)
2. SUM : νμ ν©κ³λ₯Ό λνλ
3. AVG : νμ νκ· μ λνλ
4. MAX : νμ μ΅λκ°μ λνλ
5. MIN : νμ μ΅μκ°μ λνλ
6. STDENV : νμ νμ€νΈμ°¨λ₯Ό λνλ
7. VARIANCE : νμ λΆμ°μ λνλ

1. STUD_SCORE ν μ΄λΈμ μ¬μ©νμ¬ NULL κ°μ μ μΈν μμ μ μ 보μ μλ₯Ό μΈλ €λ©΄?
SELECT COUNT(MUSIC_SCORE) AS MUSIC_CNT
FROM STUD_SCORE;
2. STUD_SCORE ν μ΄λΈμ μ¬μ©νμ¬ NULLκ° λ° μ€λ³΅λ κ°μ μ μΈν μμ΄ μ μ 보μ μλ₯Ό μΈλ €λ©΄?
SELECT COUNT(DISTINCT ENG_SCORE) AS ENG_CNT
FROM STUD_SCORE;
COUNT ν¨μλ λ°μ΄ν°μ κ²μ¦μ©μΌλ‘λ λ§μ΄ μ¬μ©λ¨
=> νΉμ ν ν μ΄λΈμ λ§λ€μμ λ κ·Έ ν μ΄λΈμ NULLκ°μ΄λ μ€λ³΅λ κ°μ΄ μλμ§ λμΌλ‘ μ°ΎκΈ° νλ¬
(COUNTλ‘ μ½κ² κ²μ¦ κ°λ₯)
3. STUD_SCORE ν μ΄λΈμ μ¬μ©νμ¬ μμ μ μμ νκ· μ ꡬνλ €λ©΄?
AVG ν¨μλ₯Ό μ¬μ©νλ©΄ NULLκ°μ κ°μ§ μ΄μ κ³μ°μμ μλ΅λμ΄ μ 체 νκ· κ°μ΄ μλͺ»λ μ μμΌλ―λ‘ μ£Όμν΄μΌν¨!!
=> COALESCE μ¬μ©
SELECT AVG(COALESCE(MUSIC_SCORE, 0)) AS MUSIC_AVG
FROM STUD_SCORE;
4. STUD_SCORE ν μ΄λΈμ μ¬μ©νμ¬ μν μ μμ μ΅λκ° λ° μ΅μκ°μ ꡬνλ €λ©΄?
SELECT MAX(MATH_SCORE) AS MAX_SCORE, MIN(MATH_SCORE) AS MIN_SCORE
FROM STUD_SCORE;
1. μ§κ³ ν¨μλ₯Ό μ¬μ©νλ©΄ NULLκ°μ κ³μ°μμ 무μλλ€
2. λ³μΉμ μ§μ ν λ ν μ΄λΈμ μ‘΄μ¬νλ μ΄ μ΄λ¦μ΄ μλ μλ‘μ΄ μ΄λ¦μΌλ‘ μ§μ νλ κ²μ΄ μ’μ
3. μ«μν λ°μ΄ν°λ₯Ό λΆμν λ SUM, AVG,MIN,MAX κ°μ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό κ²μ¦νλ κ²μ μ€μν¨
쑰건문 μ΄ν΄νκΈ°
CASE WHEN λ¬Έμ₯
1. CASE WHEN λ¬Έμ₯
[쑰건1]μ λ§μ‘±νλ©΄ [κ²°κ³Όκ°1]μ λνλ΄κ³ , [쑰건2]λ₯Ό λ§μ‘±νλ©΄ [κ²°κ³Όκ°2]λ₯Ό λνλΈλ€
λλ¨Έμ§λ [κ²°κ³Όκ°3]μΌλ‘ 보μ¬μ£Όκ³ μ΄λ€ κ²°κ³Όκ°μ [μλ‘μ΄ μ΄ μ΄λ¦]μΌλ‘ λνλ΄λΌλ λ»μ΄λ€!
=> 쑰건물μ λνλΌ λ μ¬μ©λκ³ νμ©λκ° λμ
SELECT μ΄ μ΄λ¦1,
CASE WHEN [쑰건1] THEN [κ²°κ³Όκ°1]
WHEN [쑰건2] THEN [κ²°κ³Όκ°2]
ELSE [κ²°κ³Όκ°3] END AS μλ‘μ΄ μ΄ μ΄λ¦
FROM ν
μ΄λΈλͺ
;

1. CLERKλ 7%, OFFICERλ 5%, MANAGERλ 3%λ‘ μ°λ΄μ μΈμνκΈ°λ‘ νμ λ STAFF_SAL ν μ΄λΈμ μ¬μ©νμ¬ κ° μ§μλ³ μΈμ μ°λ΄μ μμνλ €λ©΄?
SELECT ID, JOB, CURRENT_SAL,
CASE WHEN JOB = 'CLERK' THEN CURRENT_SAL * 1.07
WHEN JOB = 'OFFICER' THEN CURRENT_SAL * 1.05
WHEN JOB = 'MANAGER' THEN CURRENT_SAL * 1.03
ELSE CURRENT_SAL END AS NEXT_SAL
FROM STAFF_SAL;
CASE WHEN ν¨μμμ EQUAL μ‘°κ±΄λ§ μμ κ²½μ° DECODE ν¨μλ₯Ό μ¬μ©ν μ μλ€
(DBMS νΉμ±μ λ°λΌ μ§μμ΄ μλλ κ²½μ°λ μμ)
DECODE ν¨μ λ¬Έλ² :
DECODE(μ΄ μ΄λ¦, 쑰건1, κ²°κ³Όκ°1,
쑰건2, κ²°κ³Όκ°2,
쑰건3, κ²°κ³Όκ°3, κΈ°λ³Έκ°) μλ‘μ΄ μ΄ μ΄λ¦)
'π«§ Database > SQL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
ν μ΄λΈ ν©μΉκΈ° (1) | 2024.02.29 |
---|---|
λ°μ΄ν°μ κ·Έλ£Ήν, νν°λ§ (1) | 2024.02.27 |
SQL κΈ°λ³Έ ν¨μ λ°°μ°κΈ° (2) | 2024.02.26 |
ν μ€νΈ λ§μ΄λμ νμ©ν λ°μ΄ν° 쑰건 μ£ΌκΈ° (1) | 2024.02.26 |
λ Όλ¦¬μ°μ°μλ₯Ό νμ©ν λ°μ΄ν° 쑰건 μ£ΌκΈ° (0) | 2024.02.25 |