μλ νμΈμ yunamom μ λλ€ :D
2024λ 3μ 9μΌ ν μμΌμ μΉλ€μ§ μ 52ν SQLD μν 1κ³Όλͺ©, 2κ³Όλͺ© μ λ΅μ ν¬μ€ν νκ² μ΅λλ€. π©π»π»
*λ¬Έμ μμλ λ€λ₯Ό μ μμΌλ©° λ΅ μ체λ₯Ό μ μ΄λκ±°λ λ¬Έμ λ§ μ μ κ²½μ°λ μμ΅λλ€.
SQLD 52ν 1κ³Όλͺ©
β λ¬Έμ 1. μ£Όμλ³μ μμ΄λ λλ μμΈλ?
μ λ΅: κ΄κ³μν°ν°
β λ¬Έμ 2. νμλ°μ΄ν° λ¬Έμ
μ λ΅: 1λ²,νκ³Όλ₯Ό μμ νλ€ vs 4λ²
β λ¬Έμ 3. μ€ν€λ§(μΈλΆ, κ°λ ) λ¬Έμ
μ λ΅: μ 체λ₯Ό ν΅ν© λμμ€λ‘ μ¨μ§ μ§λ¬Έ(κ°λ μ€ν€μλνμ€λͺ )μ΄ μ λ΅
β λ¬Έμ 4. κ°λ μ λͺ¨λΈλ§ λ¬Έμ
μ λ΅: μΆμνλ¨κ³κ° λμ μμνμ μ΄ μ΄λ ΅λ€.
β λ¬Έμ 5. λΆλͺ¨μν°ν°κ° λλ κ²μ?
μ λ΅: κΈ°λ³Έμν°ν°
β λ¬Έμ 6. μΈμ€ν΄μ€λ λκ° μ΄μμ μμ±, μμ±μ νλμ μμ±κ° κ°λλ€λ₯Ό ERDκ·Έλ¦° κ² μ€ μ³μκ±° κ³ λ₯΄κΈ°
μ λ΅: 4λ², μΌμͺ½μμ μ€λ₯Έμͺ½ λ°©ν₯μΌλ‘ 1:M κ΄κ³ 2λ² λμ€κ³ , λ§μ§λ§ μμ±κ°μ μ€μ νμ€
β λ¬Έμ 7. FK λ΄λΆμλ³μλΌκ³ μΈκΈν μ μ§
μ λ΅: FK μΈλν€
β λ¬Έμ 8. μλ³,λΉμλ³ λ¬Έμ
μ λ΅: 3λ², μλ³κ΄κ³ : μ€μ , λΉμλ³κ΄κ³: μ μ
νλͺ© | μλ³μκ΄κ³ | λΉμλ³μκ΄κ³ |
λͺ©μ | κ°ν μ°κ²°κ΄κ³ νν | μ½ν μ°κ²°κ΄κ³ νν |
μμ μ£Όμλ³μ μν₯ | μμ μ£Όμλ³μμ ꡬμ±μ ν¬ν¨λ¨ | μμ μΌλ° μμ±μ ν¬ν¨λ¨ |
νκΈ°λ² | μ€μ νν | μ μ νν |
μ°κ²° κ³ λ €μ¬ν |
- λ°λμ λΆλͺ¨μν°ν° μ’
μ - μμ μ£Όμλ³μꡬμ±μ λΆλͺ¨ μ£Όμλ³μν¬ν¨ νμ - μμλ°μ μ£Όμλ³μμμ±μ ν μν°ν°μ μ΄μ νμ |
- μ½ν μ’
μκ΄κ³ - μμ μ£Όμλ³μꡬμ±μ λ 립μ μΌλ‘ κ΅¬μ± - μμ μ£Όμλ³μꡬμ±μ λΆλͺ¨ μ£Όμλ³μ λΆλΆ νμ - μμλ°μ μ£Όμλ³μμμ±μ ν μν°ν°μ μ°¨λ¨ νμ - λΆλͺ¨μͺ½μ κ΄κ³μ°Έμ¬κ° μ νκ΄κ³ |
β λ¬Έμ 9. κ΅μ / νμ / κ³Όλͺ© κ΄κ³κ° μκ³ μ κ·ν νμ μΆκ°λ‘ μκΈ°λ ν μ΄λΈμ λ¬Όμ΄λ³΄λ λ¬Έμ
μ λ΅: 3λ², 2κ°
β λ¬Έμ 10. (μ 1μ κ·ν, μ 2μ κ·ν, μ 3μ κ·ν)
μ λ΅: 1λ², 3ν μ κ·νλ 1,2ν μ κ·νλ₯Ό λ§μ‘±νμ§ μλλ€
SQLD 52ν 2κ³Όλͺ©
β λ¬Έμ 11. Where not ( col1 = 1 or col2 = null) / Col1 Col2 null 3 μ΄λ 4 dλμ¨ κ±°
μ λ΅: 4 d
β λ¬Έμ 12. κ°μ΄ νΌμ λ€λ₯Έ κ²μ κ³ λ₯΄μμ€.
100 50
100 null
null 250
450 100
1) NVL(κ°, μ΅μ
) ~ 2) Coalease(κ°, μ΅μ ) ~ 3) NULLIF(κ°, μ΅μ ) ~ 4) case κ° is not null then κ° else μ΅μ ~ |
μ λ΅: 3λ² NULLIF(κ°, μ΅μ )
β λ¬Έμ 13. Range 2 Preceding ~ 2 following λ¬Έμ
κ° νν°μ
λ΄μ νΉμ 컬λΌμμ νμ¬ νμ κ°μμ 2μμκ±°λΆν° 2ν°κ±° μ¬μ΄μ κ° λνκΈ°..1,3,5,7 / 2,4
μ λ΅: 3λ² (4,9,15,12/ 6,6)
β λ¬Έμ 14. PRIOR μμΉ λ¬Έμ /κ³μΈ΅μ§μ γ±,γ΄,γ·,㹠ꡬλ©λ«κ³ Prior λ€μ΄κ° μμΉ κ³ λ₯΄κΈ°
μ λ΅: Mgrμ
β λ¬Έμ 15. nvl κΈμ‘1,2,3,4
μ λ΅: κΈμ‘ 3λ²
β λ¬Έμ 16. κ³μΈ΅μ§μμμ μλ°©ν₯ μλ°©ν₯ μ νλκ±°
μ λ΅: Prior
β λ¬Έμ 17. νΈλμμ μ΄ λμμ μ€νλ κ²½μ° λ€λ₯Έ νΈλμμ μ μν΄ μν₯μ λ°μ§ μκ³ λ 립μ μΌλ‘ μ€νλμ΄μΌ νλκ²μ?
1) μμμ± 2) μΌκ΄μ± 3) κ³ λ¦½μ± 4) μ§μμ± |
μ λ΅: 3λ² κ³ λ¦½μ±
ν΄μ€:
νΈλμμ
μ΄λ λ°μ΄ν°λ² μ΄μ€μ μνλ₯Ό λ³νμν€λ νλμ λ
Όλ¦¬μ μΈ μμ
λ¨μμ΄λ€.
νΈλμμ
μλ μ¬λ¬ κ°μ μ°μ°μ΄ μνλ μ μκ³ , μνμ€μ νμμ
μ΄λΌλ μ€ν¨νλ©΄ μ λΆλ₯Ό rollbackνκ³ λͺ¨λ μ±κ³΅ν΄μΌ commitνλ€.
ACIDλ νΈλμμ
μ΄ μμ νκ² μνλλ€λ κ²μ 보μ₯νκΈ° μν μ±μ§
Atomicity(μμμ±) : νΈλμμ
μ μ°μ°μ λͺ¨λ μ°μ°μ΄ μλ²½ν μνλμ΄μ¬ νλ©°, ν μ°μ°μ΄λΌλ μ€ν¨νλ©΄ νΈλμμ
μ μ€ν¨ν΄μΌνλ€.
Consistency(μΌκ΄μ±) : νΈλμμ
μ μ ν¨ν μνλ‘λ§ λ³κ²½λ μ μλ€.
Isolation(κ³ λ¦½μ±) : νΈλμμ
μ λμμ μ€νλ κ²½μ° λ€λ₯Έ νΈλμμ
μ μν΄ μν₯μ λ°μ§ μκ³ λ
립μ μΌλ‘ μ€νλμ΄μΌ νλ€.
Durability(λ΄κ΅¬μ±) : νΈλμμ
μ΄ μ»€λ°λ μ΄νμλ μμ€ν
μ€λ₯κ° λ°μνλλΌλ 컀λ°λ μνλ‘ μ μ§λλ κ²μ 보μ₯ν΄μΌ νλ€. (λΉνλ°μ± λ©λͺ¨λ¦¬μ λ°μ΄ν°κ° μ μ₯λλ κ²μ μλ―Έ)
β λ¬Έμ 18. μλΈμΏΌλ¦¬ μ€λͺ μ€ μ μ νμ§ μμκ²μ κ³ λ₯΄μμ€
μ λ΅: μλΈμΏΌλ¦¬ ν μ΄λΈμ 컬λΌμ λ©μΈ ν μ΄λΈ μμ μ¬μ©ν μ μλ€.
ν΄μ€: μλΈμΏΌλ¦¬μ νλͺ©μ λ©μΈμΏΌλ¦¬μμ μ¬μ©νμ§ λͺ»νλ€.
μλΈμΏΌλ¦¬ νΉμ§- μ‘°μΈμ μ°Έμ¬νλ λͺ¨λ ν μ΄λΈμ 컬λΌμ μ΄λ μμΉμμλΌλ μ¬μ© κ°λ₯ (μ‘°μΈμ μ°Έμ¬νλ λͺ¨λ ν μ΄λΈμ΄ λλ±ν κ΄κ³μ μκΈ° λλ¬Έ)- μλΈμΏΌλ¦¬μ κ²½μ° λ©μΈμΏΌλ¦¬μ 컬λΌμ λͺ¨λ μ¬μ© ν μ μμ§λ§, λ©μΈμΏΌλ¦¬λ μλΈμΏΌλ¦¬ ν μ΄λΈμ 컬λΌμ μ¬μ© ν μ μλ€.
β λ¬Έμ 19. rank 컬λΌμ 1,2,2,3,μ΄λ°μμΌλ‘ λμ€λ €λ©΄
μ λ΅: Dense_Rank
β λ¬Έμ 20. λͺ λ Ήμ΄ κ΄λ¦¬κ΅¬λ¬Ένμ λ§€μΉ μ€ μ μ νμ§ μμκ²μ κ³ λ₯΄μμ€
μ λ΅: Insert - DCL
β λ¬Έμ 21. μ°¨μ§ν© μ°μ°μΌλ‘ μ³μ κ²μ?
μ λ΅: 4λ² Except
β λ¬Έμ 22. μΈλ²μ§Έκ° Lμ΄ μ€λ λ¨μ΄λ₯Ό μ°ΎμΌμμ€.
μ λ΅: _ _ L%
β λ¬Έμ 23. μλ 쿼리μ κ²°κ³Όκ°μ κ³ λ₯΄μμ€.
[TAB1]
C1 C2 C3
-------------
1 2 3
Null 2 3
Null Null 3
SELECT SUM(COALESCE(C1, C2, C3)) FROM TAB1;
1) 0 2) 1 3) 6 4) 14 |
μ λ΅: 3λ² / 1+2+3=6
ν΄μ€: COALESCE ν¨μλ 첫 λ²μ§Έ NULLμ΄ μλ κ°μ λ°ννλ€.
β λ¬Έμ 24. λ€μ μ€ SELECT λ¬Έμ₯μ μ€ν μμλ₯Ό μ¬λ°λ₯΄κ² λμ΄ν κ²μ?
1) SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY 2) FROM - SELECT - WHERE - GROUP BY - HAVING - ORDER BY 3) FROM - WHERE - GROUP BY - HAVING - ORDER BY - SELECT 4) FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY |
μ λ΅: 4λ²
β λ¬Έμ 25. as A, as B κ°μ΄ μλ‘ λ€λ₯Έ κ²μ? (μ€λΌν΄μ΄λΌκ³ κ°μ , μ§λ¬Έ λ΄μ©μ΄ 쑰건μ λ°λΌ μ§κ³ν¨μλ‘ κΈμ¬μ‘ λνκΈ°)
μ λ΅: 3λ² max(sal) ---- as A, min(sal) ---- as B
β λ¬Έμ 26. μΉ΄ν μμ κ³± (μμ°λΌμΈ μν°ν°) / μ ν μμ°μ ν μμ°λΌμΈ μν°ν° μμ λ
μ λ΅: μ νκ³Ό μμ°λΌμΈ μ§μ μ‘°μΈ μ μΉ΄ν μμ κ³±
β λ¬Έμ 27. νμ ν μ΄λΈ, μ£Όλ¬Έμ΄λ ₯ ν μ΄λΈ - μ£Όλ¬Ένλ²λ μν νμμ°Ύλ λ¬Έμ
μ λ΅: 3λ² Where Exists ( ~ where id <> id )
β λ¬Έμ 28. employee ν μ΄λΈ μμ±μ
μ λ΅: cascade
β λ¬Έμ 29. Roleμ λν μ€λͺ μΌλ‘ μ³μκ²
μ λ΅: Grant λ‘ λΆμ¬νκ³ Revokeλ‘ νμ
β λ¬Έμ 30. ν μ΄λΈ μμ± ν 볡μ (CTAS) μμ μ μ½μ‘°κ±΄ μ μ©μ€ μ μ ν κ²μ κ³ λ₯΄μμ€.
1) νλΌμ΄λ¨Έλ¦¬ν€(PK) κ° λ³΅μ λμ§ μλλ€. 2) NOT NULL 쑰건 μ μ©μ΄ μ λλ€. 3) Check μ μ©λλ€. 4) varchar2(3) default '000' μ΄ μ μ©λλ€. |
μ λ΅: 1λ² PK κ° λ³΅μ λμ§ μλλ€.
ν΄μ€: NOT NULL μ‘°κ±΄λ§ κ°μ Έμ¬μ μμ.
β λ¬Έμ 31. μ΄μκΈ 2000μ΄μ
μ λ΅: Else null 쑰건 λΆμ 4λ²
β λ¬Έμ 32. Aκ²°κ³Όμ Bκ²°κ³Ό λ΅ λ€λ₯Έ κ² κ³ λ₯΄λ κ±°
μ λ΅: 4λ²
β λ¬Έμ 33. Sql νΉμ§μ΄ μλ κ²μ κ³ λ₯΄μμ€.
1) μ μ°¨μ (procedural) 2) ꡬ쑰μ (structured) 3) μ§ν©μ (set-based) 4) μ μΈμ (declarative) |
μ λ΅: 1λ² μ μ°¨μ
ν΄μ€: SQLμ ꡬ쑰μ (structured)μ΄κ³ , μ§ν©μ (set-based)μ΄κ³ , μ μΈμ (declarative)μΈ μ§μ(Query) μΈμ΄μ΄λ€.
SQL(Structured Query Language)μ μλ¬Έλͺ μ νμ΄νλ©΄ ꡬ쑰νλ μ§μ μΈμ΄λΌλ μλ―Έλ‘, λ¨μνκ² μ§μλ§μ μννλ κ²μ΄ μλλΌ λ°μ΄ν°λ² μ΄μ€μ λͺ¨λ μμ μ ν΅μ νλ λΉμ μ°¨μ (Non-procedural) μΈμ΄μ΄λ€.
β λ¬Έμ 34. MAX MIN + union μ€λ³΅μ κ±°
μ λ΅: 8925
β λ¬Έμ 35. Rollup λ¬Έμ (rollup( , )/rollup((,)))
μ λ΅: 3λ² rollup((,))μ€μ²©κ΄νΈ
β λ¬Έμ 36.
μ λ΅: Null ν¬ν¨ν 컬λΌμ λν΄ Avg (컬λΌ)κ³Ό Avg(NVL(컬λΌ,0)) κ°μ΄ κ°μ§ μλ€
β λ¬Έμ 37.
μ λ΅: Natural Join - Using, On -> using, on λ±μ μ¬μ©ν μ μλ€λ μ μ§
β λ¬Έμ 38. checkλ default μ€νλλ λ¬Έμ
check μ μ½μ‘°κ±΄ / μ μ½μ‘°κ±΄ λ³ νΉμ§ μ μ νμ§ μμκ±° - νλμ ν
μ΄λΈμ κΈ°λ³Έν€λ ν κ° μ΄μ
(보기- κ³ μ ν€μ Nullκ°λ₯, Checkλ 쑰건μ λν΄ True Falseλ‘ λλ μμμ΄μΌν¨...)
μ λ΅:
β λ¬Έμ 39.
μ λ΅: Cube
β λ¬Έμ 40. Where μ Not (col<=2) μΈ κ²½μ°, κ²°κ³Ό colμ Null ν¬ν¨μ¬λΆ
μ λ΅: 3,4 (ν·κ°λ¦° λ΅ null,3,null,4)
β λ¬Έμ 41. SQLκ²°κ³Όκ° λ€λ₯Έκ°μ? (Join typeλ³λ‘ ν μ΄λΈ μ΄μΌ λμ€λμ§ μμμΌνμμλ λ¬Έμ )
μ λ΅: ν¬λ‘μ€μ‘°μΈ (Cross join)
β λ¬Έμ 42. μ ν μμ°μ ν μμ°λΌμΈ μν°ν° μμ λ
μ λ΅: μ νκ³Ό μμ°λΌμΈ μ§μ μ‘°μΈ μ μΉ΄ν μμ κ³±
β λ¬Έμ 43. NVL, NVL2, Nullif, Coalease μ λλ‘ μλμ§ κ³μ°νλ λ¬Έμ
μ λ΅:
β λ¬Έμ 44. Null ν¬ν¨ν 컬λΌμ λν΄ Avg (컬λΌ)κ³Ό Avg(NVL(컬λΌ,0)) κ°μ΄ λ€λ₯Έ κ²
μ λ΅: avgλ€μ΄κ° 4λ²
β λ¬Έμ 45. νμ μ€λ³΅μ μ κ±°νλ ν€μλλ‘ μλ§μ κ²μ?
μ λ΅: Distinct
β λ¬Έμ 46. λ¨Έμ§μ λν λ¬Έμ merge
μ λ΅: merge update insert 3λ² (μμΉ λ°λ)
β λ¬Έμ 47. yyyymmddhh24miss λ¬Έμ
μ λ΅:
β λ¬Έμ 48. sqldκ²°κ³Όλ₯Ό λ³΄κ³ priorμ΄ λ€μ΄κ°μΌ νλ μμΉ
γ±, γ΄, γ·, γΉ μ€μμ γ·,γΉμ΄ connect by λ€μ λ€μ΄κ°λ μμΉμμ.
~
start with (γ΄) ~
connnect by (γ·) mrg = (γΉ) empt?
μ λ΅: γ·
β λ¬Έμ 49. λΆμ ν μ΄λΈμ 1νμ μμ ν λ μ¬μ ν μ΄λΈμ 1νλ ν¨κ» μμ ν λ μ μ ν ννμ?
1) restrict 2) parent ~~ reference child~ cascade 3) child ~~ reference parent~ cascade 4) restrict |
μ λ΅: 3λ²
β λ¬Έμ 50. μλ λ³΄κΈ°μ€ μ¬λ°λ₯΄μ§ μμ κ²μ κ³ λ₯΄μμ€.
1) κΈ°λ³Έν€λ νκ° μ΄μμΌ μ μλ€. 2) 3) 4) |
μ λ΅: 1λ²
ν΄μ€: (κΈ°λ³Έν€λ νκ°μ΄λ€)
κΈ°λ³Έν€λ ν μ΄λΈμ μ‘΄μ¬νλ μλ§μ λ°μ΄ν°λ€μ ꡬλ³ν μ μλ μ μΌν κΈ°μ€μ΄ λλ μμ±μΌλ‘
νμ κ°μ κ°μ ΈμΌ νλ©° κ·Έ κ°μ κ³ μ ν κ°μ΄μ΄μΌ ν¨. ν μ΄λΈ λΉ νλλ§ λ§λ€ μ μλ€.
μΆμ² : λ°μ΄ν° μ λ¬Έκ° ν¬λΌ νμλλ€π¨π»π»π©π»π»
'ITμκ²©μ¦ κ³΅λΆ > SQLD μμ볡μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[SQLD] 2024λ SQLD 54ν κΈ°μΆλ³΅μ (3) | 2024.08.25 |
---|---|
[SQLD] 2024λ SQLD 53ν μμ볡μ (2) | 2024.05.28 |
[SQLD] 2023λ SQLD 51ν κΈ°μΆλ³΅μ (1κ³Όλͺ©/2κ³Όλͺ©) (10) | 2023.11.18 |
[SQLD] 2023λ SQLD 50ν κΈ°μΆλ³΅μ (1κ³Όλͺ©/2κ³Όλͺ©) (7) | 2023.09.09 |
[SQLD] 2023λ SQLD 49ν κΈ°μΆλ³΅μ ( 1κ³Όλͺ©/2κ³Όλͺ© ) (16) | 2023.06.10 |