μλ νμΈμ yunamom μ λλ€ :D
μ΄λ²μκ°μλ SQLD 47ν μν 1κ³Όλͺ©, 2κ³Όλͺ© μ λ΅μ ν¬μ€ν νκ² μ΅λλ€. π©π»π»
*λ¬Έμ μμλ λ€λ₯Ό μ μμΌλ©΄ λ΅μ λ³΄κΈ°κ° κΈ°μ΅μ΄ μλλ κ²½μ°λ λ΅ μ체λ₯Ό μ μ΄λκ±°λ λ¬Έμ λ§ μ μ κ²½μ°λ μμ΅λλ€.
<1κ³Όλͺ© : 8λ¬Έμ (κ°κ΄μ) + 2λ¬Έμ (λ¨λ΅ν) >
β
1. μλμ λͺ¨λΈλ§μ κ΄μ μ λν μ€λͺ μΌλ‘ λ°λ₯Έ κ²μ?
<μ§λ¬Έ>
μ λ¬΄κ° μ²λ¦¬νλ μΌμ λ°©λ²μ λ°λΌ λ°μ΄ν°λ μ΄λ»κ² μν₯μ λ°κ³ μλμ§ λͺ¨λΈλ§νλ λ°©λ²
<λ΅> λ°μ΄ν°μ νλ‘μΈμ€ κ΄μ
<μΆκ°>
λ°μ΄ν° κ΄μ : μ λ¬΄κ° μ΄λ€ λ°μ΄ν°μ κ΄λ ¨μ΄ μλμ§ λλ λ°μ΄ν°κ°μ κ΄κ³λ 무μμΈμ§μ λν΄μ λͺ¨λΈλ§νλ λ°©λ²
νλ‘μΈμ€ κ΄μ : μ λ¬΄κ° μ€μ νκ³ μλ μΌμ 무μμΈμ§ λλ 무μμ ν΄μΌ νλμ§λ₯Ό λͺ¨λΈλ§νλ λ°©λ²
β
2. μλμ ERD μμ μ 무 μ€λͺ μ λν λ΄μ©μ λ°νμΌλ‘ μ€λͺ μ΄ μ μ νμ§ μμ κ²μ?
<μ§λ¬Έ>
κ³ κ°μ μλΉμ€λ₯Ό μ¬λ¬κ° μ΄μ©ν μ μκ³ , λμΌ μλΉμ€λ₯Ό μ¬μ΄μ©ν μ μλ€.
<λ΅> μλΉμ€ μ΄μ©μ΄ μ¬μ¬μ©μ ν μ μκ² λμ΄ μμμ
β
3. νμμμ±μΌλ‘ μλ§μ κ²μ?
<λ΅> μνμ΄κΈμ‘ κ°μ κ³μ° κ°
β
4. μ 3μ κ·ν λμμΌλ‘ μλ§μ κ²μ?
<보기>
1) λͺ¨λ μμ±μ λ°λμ νλμ κ°μ κ°μ ΈμΌ νλ€.
2) μν°ν°μ μΌλ°μμ±μ μ£Όμλ³μ μ 체μ μ’ μμ μ΄μ΄μΌ νλ€
3) μν°ν°μ μΌλ°μμ± κ°μλ μλ‘ μ’ μμ μ΄μ§ μλλ€.
<λ΅> μ 3μ κ·ν : 3λ²
β
5. μ£Όμλ³μμ νΉμ§μΌλ‘ μ μ νμ§ μμ κ²μ?
<λ΅> μ£Όμλ³μκ° μ§μ λλ©΄ λ°λμ λ°μ΄ν° κ°μ΄ μ‘΄μ¬νμ§ μμλ λλ€ (null νμ©) -> νμ© μν¨
β
6. μνΌ-μλΈ νμ μμ κ°λ³ ν μ΄λΈμ μ κ·Όμ΄ λ§€μ° λ§μ κ²½μ°μ κ°μ₯ μ μ ν κ²μ?
<λ΅> one to oneβ
β
7. νμμ λ‘κ·ΈμΈμ΄ λ§€μ° λ§κ³ , νμμ 보 μ‘°νλ 1/10 μ λμ μμ€μ΄λ€. μ΄λ΄ κ²½μ° μ¬λ°λ₯Έ κ²μ?
<λ΅> νμμ 보λ₯Ό λΆλ¦¬νλ€.
β
8. μ±λ₯ λͺ¨λΈλ§μ λν μ€λͺ μΌλ‘ κ°μ₯ μ μ ν κ²μ?
<λ΅> μΌλ°μ μΌλ‘ μμ μ κ·νλ₯Ό μνν ν μ±λ₯μ κ³ λ €νμ¬ λ°μ κ·νλ₯Ό μννλ€.
β
<λ¨λ΅ν>
9. μ£Όλ¬Έλ²νΈ + μνλ²νΈ PK, μνλͺ 컬λΌ. μνλͺ μ΄ μ£Όμλ³μμ νλμ μ’ μμ μΈ μν. μ΄μνλ
μ΄λ€ μ κ·νμ λ§μ‘±νμ§ μλκ°?
<λ΅> μ 2μ κ·ν
β
10. μλμ μ€λͺ μ΄ μ΄μΌκΈ° νλ μ€ν€λ§λ?
β<μ§λ¬Έ>
λ·° λ¨κ³ μ¬λ¬ κ°μ μ¬μ©μ κ΄μ μΌλ‘ ꡬμ±. μ¦ κ°κ° μ¬μ©μ λ¨κ³λ‘μ κ°κ°μ¬μ©μκ° λ³΄λ κ°μΈμ DB μ€ν€λ§
DB μ κ°κ° μ¬μ©μλ μμ© νλ‘κ·Έλλ¨Έκ° μ κΈνλ DB μ μ
<λ΅> μΈλΆ μ€ν€λ§
47ν 2κ³Όλͺ© ( κ°κ΄μ 36λ¬Έμ , λ¨λ΅ν 4λ¬Έμ )
βλ¬Έμ μμλ λ€λ₯Ό μ μμΌλ©΄ λ΅μ λ³΄κΈ°κ° κΈ°μ΅μ΄ μλλ κ²½μ°λ λ΅ μ체λ₯Ό μ μ΄λκ±°λ λ¬Έμ λ§ μ μ κ²½μ°λ μμ΅λλ€.
β
<2κ³Όλͺ© : 36λ¬Έμ (κ°κ΄μ) + 4λ¬Έμ (λ¨λ΅ν) >
β
1. μλμ λ°μ΄ν° κ²°κ³Όλ₯Ό μΆλ ₯νλ SQL λ‘ μ¬λ°λ₯Έ κ²μ? CUBE λ¬Έμ
β<μ§λ¬Έ>
Grouping ν¨μκ° μ°μ¬μ null μΆλ ₯μ΄ λ¬Έμμ΄λ‘ λμ΄ μλ λ¬Έμ . ONLINE, OFFLINE μ΄ μλ λ¬Έμ
첫λ²μ§Έ 컬λΌμ μ§κ³, λλ²μ§Έ 컬λΌμ μ§κ³, λκ° μ»¬λΌμ μ§κ³, μ 체 μ§κ³κ° λͺ¨λ μλ μν
<λ΅> CUBE (μ£Όλ¬ΈμΌμ, μ£Όλ¬Έλ°©λ²) μ΄λ° μμ CUBE
β
2. μλμ λ°μ΄ν° κ²°κ³Όλ₯Ό μΆλ ₯νλ SQL λ‘ μ¬λ°λ₯Έ κ²μ? -> ROLLUP λ¬Έμ
<μ§λ¬Έ>
첫λ²μ§Έ 컬λΌμ μ§κ³, 첫λ²μ§Έ+λλ²μ§Έ 컬λΌμ μ§κ³, μ 체 μ§κ³κ° μλ μν
<λ΅> ROLLUP (νκ°νλͺ©, νκ°...)
β
3. νΈλμμ μ νΉμ§μ λν μ€λͺ μΌλ‘ κ°μ₯ μ μ ν κ²μ?
β<보기>
1) νΈλμμ μ΄ μ±κ³΅μ μΌλ‘ μνλλ©΄ κ·Έ νΈλμμ μ΄ κ°±μ λ°μ΄ν°λ² μ΄μ€μ λ΄μ©μ μꡬμ μΌλ‘ μ μ₯λλ€. μ΄λ₯Ό κ³ λ¦½μ±μ΄λΌ νλ€.
2) ...
3) ROLLBACK νμλ λ°μ΄ν°μ λ³κ²½ μ¬νμ λ³κ²½λμ§ μλλ€.
4) COMMIT κ³Ό ROLLBACK μ μ¬μ©ν¨μΌλ‘μ λ°μ΄ν° 무결μ±μ 보μ₯ν μ μλ€.
<λ΅> 4λ² : λ°μ΄ν° 무결μ±μ 보μ₯ν¨
β
4. μ μ₯ νλ‘μμ μ λν μ€λͺ μΌλ‘ κ°μ₯ μ μ νμ§ μμ κ²μ?
<보기>
1) μμ©νλ‘κ·Έλ¨μ μ±λ₯μ κ°μ νλ€.
2) ..
3) νλ‘μμ μ νΈλ¦¬κ±°μμ COMMIT, ROLLBACK μ λͺ¨λ μ¬μ© ν μ μλ€.
4) μ μ μ μ ν¨μλ λ°λμ 리ν΄μ΄ μμ΄μΌ νλ€.
<λ΅> 3λ² : νΈλ¦¬κ±°λ COMMIT, RLLBOACK μ μ¬μ© ν μ μλ€.
β
5. μλμ SQL λΆλ₯μ λν μ€λͺ μΌλ‘ μ μ νμ§ μμ κ²μ?
β<λ΅> DCL : λ°μ΄ν°λ² μ΄μ€μ ꡬλ λ° μ’ λ£λ₯Ό μννλ€.
β
6. ν μ΄λΈμ μ‘°μΈ μ μ‘°μΈ λμμ΄ μλ ROW λ κ°μ§κ³ μ€κ³ , μ‘°μΈ κ°μ΄ NULL μΈ κ²½μ°λ κ°μ Έμ€λ μ‘°μΈμ?
β<λ΅> 4) OUTER JOIN
--> μ 맀ν¨. μ‘°μΈ κ°μ΄ null μΈ κ²½μ°λ κ°μ Έμ¨λ€λ λ§μ΄ μ΄ν΄κ° μλλ λ¬Έμ
β
7. μ κ·λ²νΈλ₯Ό μ±λ²νκ³ , λ²νΈκ° μμ κ²½μ° 1λ‘ μμνλ ννμ SQL μ΄λ€. μλ SQL κ³Ό λμΌν κ²°κ³Όλ₯Ό λνλ΄λ κ²μ?
<μ§λ¬Έ>
SELECT NVL (MAX(λ²νΈ), 1) + 1 FROM ...
<λ΅> SELECT COALESCE( MAX(λ²νΈ) +1 , 1) FROM ..
β
8. μλμ ν μ΄λΈ λ°μ΄ν°μ λν κ²°κ³Όλ₯Ό μΆλ ₯νλ SQL λ‘ κ°μ₯ μλ§μ κ²μ?
β-> WINDOW FUNCATION μ΄ SUM, ROW_NUMBER, LAG, LEAD λμ€λ λ¬Έμ
<λ΅> 3,4λ² μ€ νλ
<μΆκ°>
LAG : μ΄μ νμ κ°μ Έμ΄
LEAD : λ€μνμ κ°μ Έμ΄
β
9. μλμ JOIN κ²°κ³Όμ λ€λ₯Έ SQL μ?
<μ§λ¬Έ>
A : SRN_NO ... / B: SRN_NO ....
<보기>
1) FROM A NATURAL JOIN B
2) FROM A JOIN B USING (SRN_NO)
3) FROM A INNER JOIN B
4) FROM A ,B WHERE A.SRN_NO = B.SRN_NO
<λ΅> 3λ² INNER JOIN μ ON μ μ΄ μμΌλ©΄ CROSS JOIN κ³Ό κ²°κ³Όκ° κ°μ
β
10. μλμ ν μ΄λΈμ λν JOIN μ κ²°κ³Όκ° μλͺ»λ κ²μ?
<μ§λ¬Έ>
ν
μ΄λΈ
<보기>
1) INNER JOIN κ²°κ³Ό
2) LEFT OUTER JOIN κ²°κ³Ό
3) RIGHT OUTER JOIN κ²°κ³Ό
4) FULL OUTER JOIN κ²°κ³Ό
<λ΅> 4λ²: FULL OUTER JOIN = LEFT UNION RIGHT OUTER JOIN
β
11. κ³μΈ΅ν 쿼리μ λν μ€λͺ μΌλ‘ μ μ νμ§ μμ κ²μ?
β<λ΅> WHERE μ μ 쑰건μ μ μΈνκ³ κ³μΈ΅ν μΏΌλ¦¬κ° μνλλ€.
-> λͺ¨λ μ κ°λ₯Ό μνν νμ μ§μ λ 쑰건μ λ§μ‘±νλ λ°μ΄ν°λ§ μΆμΆνλ€
<μ°Έκ³ > κ΅μ¬ p355
β
12. TEAM, PLAYER ν μ΄λΈμμ μλμ SQL κ³Ό λ€λ₯Έ κ²°κ³Όλ₯Ό μΆλ ₯νλ SQL μ?
β<μ§λ¬Έ>
SELECT ..
FROM ...
WHERE (TEAM_ID, HEIGHT) in (SELECT TEAM_ID ,MIN(HEIGHT) FROM )...
<보기>
...
<λ΅> SELECT .. FROM .. WHERE EXISTS (SELECT ...) --> EXISTS κ° λ°λ‘ μ°μ΄λ©΄ κ²°κ³Όκ° λ€λ¦
β
13. μλμ SQL μ΄ μλ―Ένλ λ°λ₯Ό κ°μ₯ μ μ€λͺ ν κ²μ?
<μ§λ¬Έ>
SELECT νλͺ
FROM ν,
(SELECT νλͺ
, SUM(μ°λ΄) AS μ΄κΈμ¬) FROM ...)
WHERE ν....
<λ΅> νμ μ¬μ μ΄μ°λ΄μ΄ κ°μ₯ λμ νλͺ
β
14. μλμ κ°μ΄ 1~100 κΉμ§μ λ°μ΄ν°κ° μμ λ 10~50 κΉμ§μ λ°μ΄ν° κ²°κ³Όλ₯Ό λ½κΈ° μν SQL λ‘ μλ§μ κ²μ?
β<λ΅> ... WHERE COL BETWEEN 10 AND 50
β
15. μλμ μ€λͺ μ λ§μ‘±νλ SQL μ λν΄μ νλ¦° λΆλΆμ μ΄λμΈκ°?
β<μ§λ¬Έ>
... λ΄λ¦Ό μ°¨μμΌλ‘ μ λ ¬ νλ€.
<보기>
1) SELECT
2) FROM
3) WHERE
4) ORDER BY A
<λ΅> 4λ² DESC λ₯Ό μ μ΄μ€μΌ ν¨
β
16. μλμ SQL κ²°κ³Όλ‘ μ μ ν κ²μ? ( CASE, SUM, NULL λ¬Έμ )
<μ§λ¬Έ>
ν
μ΄λΈ λ°μ΄ν° λ΄μ©
SELECT ... CASE WHEN SUM(GRADE + RANK) IS NULL THEN 0
ELSE SUM(GRADE + RANK)
....
<λ΅> 25 ( 12 + 13)
β
17. μλμ ν μ΄λΈ λ°μ΄ν°κ° μμ λ SQL κ²°κ³Όλ‘ μλ§μ κ²μ? (GRADE, CROSS JOIN κ²°κ³Ό)
β<μ§λ¬Έ>
SELECT GRADE
FROM A,
(SELECT MAX(...) FROM )
WHERE ...
<λ΅> GRADE : SILVER
β
18. μλμ ν μ΄λΈ λ°μ΄ν°κ° μμ λ λ€μμ SQL κ²°κ³Όλ‘ μλ§μ κ²μ? ( UNION ALL - MINUS κ²°κ³Ό)
β<μ§λ¬Έ>
SELECT COL1 FROM A
UNION ALL
SELECT COL1 FROM B
MINUS
SELECT COL1 FROM C
<λ΅> 1,3,5 ( MINUS μ λκ° μ§ν©μ κ²°κ³Όλ₯Ό DISTINCT νμ MINUS μνλ¨)
β
19. μλμ SQL (MREGE INTO ) μ λν κ²°κ³Όλ‘ μλ§μ κ²μ?
β<μ§λ¬Έ>
MERGE INTO A
MATCHED ... UPDATE
NOT MACHED ... INSERT
<λ΅> 1,2,3 / 100,100,100
β
20. μ΅λκ°μ κ°μ§κ³ μ€λ SQLλ‘ μλ§μ κ²μ? ( ORDER BY μ ROWNUM μ μμΉ)
<λ΅> SELECT ...
FROM ( SELECT ..
FROM
ORDER BY DESC )
WHERE ROWNUM <= 1
β
21. MAX(COL1) KEEP (DENSE_RANK .... FIRST .... ORDER BY DESC) SQL μ λν κ²°κ³Όλ‘ μ¬λ°λ₯Έ κ²μ?
<λ΅> 1,1 / 10, 20 μμ 20 (DESC μμΌλ―λ‘)
β
22. μλμ λ°μ΄ν° κ²°κ³Όκ° λμ€λ SQL λ‘ μ¬λ°λ₯Έ κ²μ? (μμκ° λμΌ μμκ° μκ³ μ°μλ μμ)
<μ§λ¬Έ>
μμ 1,1,2,3,3,4,5
<λ΅> DENSE_RANK κ° μλ SQL
β
23. μλμ λ°μ΄ν° κ²°κ³Όκ° λμ€λ SQL λ‘ μ¬λ°λ₯Έ κ²μ? (μμμ κ³Ό μμκ° μλ κ²°κ³Ό)
<μ§λ¬Έ>
col1 : ...
col2 : 0.2, 0.2, 0.1, 0.1 ~ : μ΄ν©κ³ 1
col3 : 1,1,2,2,3,3,4,4,5,5
<λ΅> SELECT RATIO_TO_REPORT(COL1)
NTILE(N) ...
<μΆκ° μ€λͺ
>
PERCENT_RANK() OVER (PARTITION BY .. ORDER BY ..)
-> νν°μ
λ³ μλμ°μμ μ μΌ λ¨Όμ λμ€λ κ²μ 0μΌλ‘, μ μΌ λ¦κ² λμ€λ κ²μ 1λ‘ νμ¬
κ°μ΄ μλ νμ μμλ³ λ°±λΆμ¨μ ꡬνλ€.
-> 0, 0, 0.5, 0.75, 1 μ΄λ°μμ 0κ³Ό 1μ΄ λνλ¨
β
RATIO_TO_REPORT(COL1) OVER(PARTITION BY .. ORDER BY ..)
-> νν°μ
λ΄ μ 체 SUM κ°μ λν νλ³ μ»¬λΌ κ°μ λ°±λΆμ¨μ μμμ μΌλ‘ ꡬν¨
-> 0.29, 0.22, 0.22 0.27 ---> ν©μ΄ 1 μ
β
NTILE(N) OVER (PARTITION BY ... ORDER BY ... )
-> νν°μ
λ³ μ 체 건μλ₯Ό N λ±λΆν κ²°κ³Όλ₯Ό ꡬν¨
-> 14 ROWS λ₯Ό NTILE(4) λ‘ ν κ²½μ° 14λ₯Ό 4λ±λΆ ν ν λλ¨Έμ§λ₯Ό μμμλΆν° μ±μ. 4,4,3,3 μΌλ‘ λλ
β
24. SET OPERATION μμ κ΅μ§ν©κ³Ό λμΌν μν μ νλ OPERATION μ?
β<λ΅> INTERSECT
β
25. ν μ΄λΈμ λ°μ΄ν°μμ NOT NULL μΈ λ°μ΄ν°λ§ κ°μ§κ³ μ€λ SQLλ‘ μ¬λ°λ₯Έ κ²μ?
β<λ΅> SELECT ...FROM ... WHERE ... IS NOT NULL
β
26. μλμ ν μ΄λΈ λ°μ΄ν°κ° μμ κ²½μ° λ€μμ SQL μμ μ€λ₯κ° λ°μνλ κ²μ? (νκ°νλͺ©, μν μλ λ¬Έμ )
β-> 26λ²μ΄ νμ€νκ³ , λ¬Έμ κ° μλͺ»λμμ.
-> ERROR κ° λκ° λ°μλ¨
<보기>
1)...
2) SELECT ...
(SELECT COL1 FROM μν B WHERE A.μνID = B.μν ID)
FROM ...
3) SELECT ..
FROM ...
... (SELECT μνID
FROM νκ°νλͺ© ...
)
<λ΅> 2λ²μ κ²½μ° μ€μΉΌλΌ μλΈμΏΌλ¦¬μμ λ€μ€ROW κ° λ°μνμ¬ μλ¬
3λ²μ κ²½μ° νκ°νλͺ© ν μ΄λΈμ μνID μ»¬λΌ μμ²΄κ° μμ΄μ μλ¬
β
27. CROSS JOIN μ λν μ€λͺ μΌλ‘ λ°λ₯Έκ²μ?
β<λ΅> ν μ΄λΈμ νλμ λ‘μ°μ λν΄μ λ€λ₯Έ ν μ΄λΈμ λͺ¨λ λ‘μ°μ μ‘°μΈλλ κ²°κ³Ό
β
28. μ¬μ μ 보λ₯Ό μΆλ ₯νλ SQL μμ μ¬μ μ 보μ μ°¨μμ λ©λμ μ 보λ₯Ό μΆλ ₯ν΄μ£Όλ SQL λ‘ μ¬λ°λ₯Έ κ²μ?
<λ΅> 3λ²: EMP A LEFT OUTER JOIN EMP B ON A.MGR_NO = B.EMP_NO
β
29. TAB A , TAB B, TAB C κ° μλ³μ κ΄κ³λ‘ μ΄λ€μ§ νν.μλμ μ€λͺ μΌλ‘ μ μ νμ§ μμ κ²μ?
β<λ΅> μ‘°μΈ μ‘°κ±΄μ μ΅μ 3κ°μ΄λ€ -> ν μ΄λΈ 3κ°μ΄λ©΄ μ΅μ 2κ°μ
--> λλ¨Έμ§ λ³΄κΈ°λ μ’ μ 맀ν¨..
β
30. μλμ SQL μ€ κ²°κ³Όκ° λ€λ₯Έ κ²μ? ( LTRIM, RTRIM λ±μ λν λ¬Έμ )
<보기>
1) LPAD('BCD','A',3)
2) RTRIM('EBCDE','E')
3) SUBSTR('ABCDE',2,3)
4) CONCAT ( CONCAT (NULL, 'BC'), 'E')
<λ΅> 2λ². RTRIM μ μ€λ₯Έμͺ½ λΆν° μ§μ λ λ¬Έμλ₯Ό μμ ν¨. λ€λ₯Έ λ¬Έμκ° λμ€λ©΄ λ©μΆ€
β
31.μλμ SQL μ λν κ²°κ³Όλ‘ μ¬λ°λ₯Έ κ²μ? ( AVG, SUM/COUNT μ λΉκ΅)
β<μ€λͺ
>
λ°μ΄ν°
-> NULL μ΄ νλ μλ 컬λΌ
<μ§λ¬Έ>
SELECT ROUND( AVG(COL) ) , ROUND ( SUM(COL)/COUNT(*) ) FROM ..
<λ΅> AVG μμ NULL μ λͺ¨μμμ μ μΈλ¨. 100,110 ,NULL μμ 210 /2 =105, 210/3= 70
105, 70
β
32. μλμ 쑰건μΌλ‘ μνλ SQL μμ 보기μ μμλλ‘ SQL μ΄ μνλ λ μλ¬κ° λ°μνλ κ³³μ?
β<μ§λ¬Έ>
κ³ κ° ν μ΄λΈ
μ£Όλ¬Έ ν μ΄λΈ : μ£Όλ¬Έ.κ³ κ°ID REFERENCE κ³ κ°.κ³ κ°ID
<λ΅> κ³ κ° ν μ΄λΈμ μλ κ³ κ° ID λ‘ μ£Όλ¬Έμ κ³ κ°ID λ₯Ό μ λ°μ΄νΈνμ¬ κ²°κ³Όλ₯Ό λ°κΎΈλ 보기 (4λ²)
β
33. μλμ SQL μ λν κ²°κ³Όλ‘ μ¬λ°λ₯Έ κ²μ?
<μ§λ¬Έ>
SELECT ..
FROM..
GROUP BY ..
HAVING COUNT(*) >= 2
<λ΅> λ―Έμ
λ¬Έμ μ€λͺ
(λ°μ΄ν°μ격λ)
-> having count(*)>=2 쑰건 κ±Έμ΄μ 300μΈ ν νλ μΆλ ₯νλκ²λ μμλ κ² κ°μ΅λλ€. 보기4λ²μ 곡μ§ν©λ μμλκ±°κ°κ³ .
β
34. μλμ λ°μ΄ν° ν μ΄λΈμ΄ μμ λ μλ SQL μ μν κ²°κ³Όλ‘ μ¬λ°λ₯Έ κ²μ?
<μ§λ¬Έ>
COL1 COL2
---- ----
10 20
0 NULL
10 0
β
SELECT AVG(COL1), AVG(COL2)
FROM ..
WHERE COL2 IS NOT NULL;
β
<λ΅> ??? COL1 , COL2 μ΄ μ λ° λΉμ·ν ννμ. NULL μ μ μΈνκ³ νκ° μ»¬λΌμ 0 μ΄ μλ νν
10+10/2= 10 ,20+0 /2 = 10
β
35. UNION μ λν μ€λͺ μΌλ‘ κ°μ₯ μ μ ν κ²μ?
<보기>
1) UNION ALL μ λΉν΄ μ±λ₯μ΄ μ’λ€
2) μνΈ λ°°νμ μΈ μ‘°κ±΄μΌ λλ UNION μ΄ μ¬μ©λλ€.
3) ν©μ§ν©μ΄λ©° μ€λ³΅νμ νλλ‘ μ·¨κΈνλ€.
4) ...
<λ΅> ν©μ§ν©μ΄λ©° μ€λ³΅νμ νλλ‘ μ·¨κΈνλ€.
β
36.
β
<λ¨λ΅ν>
37. USER λ₯Ό μμ ν λ USER μ μν λͺ¨λ OBJECT λ₯Ό κ°μ΄ μμ νλ λͺ λ Ήμ΄μ΄λ€. λΉμΉΈμ μμ±νμμ€
<μ§λ¬Έ>
ALTER DROP USER user_name ( )
<λ΅> CASCADE
β
38. μλμ SQL λ₯Ό μμ±νμμ€.
<λ΅> GROUP BY , DESC
β
39. μλμ SQL μ λν κ²°κ³Όλ₯Ό μ μΌμμ€
β<μ§λ¬Έ>
SELECT COL1
FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY ... ORDER BY DESC )
FROM ..
WHERE ..
)
WHERE RN =1
<λ΅> 5,4
β
40. μλμ κ³μΈ΅ν 쿼리μ κ²°κ³Όλ₯Ό μμ±νμμ€
β<μ§λ¬Έ>
λ°μ΄ν°
<SQL>
SELECT COUNT(*)
FROM ...
WHERE COL1 <> 4
START WITH COL1= 1
CONNECT BY PRIOR COL1 = COL2;
β
COL1 COL2
----------
1 NULL
2 NULL
3 1
4 1
5 2
6 2
7 3
8 4
9 5
<λ΅> 2 null μ μ μΈλ μνμμ μνλλ©°, κ·Έ κ²°κ³Όμμ 4 μΈ row λ₯Ό μ μΈ
μμ μν μμ λ‘ 1 μμ μμλ κ²°κ³Όλ 1,3,4,7,8 / 5κ°μ rows μμ COL1<>4λ₯Ό μ μΈν 4κ°
[μΆμ²] λ°μ΄ν° μ λ¬Έκ° ν¬λΌ
'ITμκ²©μ¦ κ³΅λΆ > SQLD μμ볡μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[SQLD] 2023λ SQLD 50ν κΈ°μΆλ³΅μ (1κ³Όλͺ©/2κ³Όλͺ©) (7) | 2023.09.09 |
---|---|
[SQLD] 2023λ SQLD 49ν κΈ°μΆλ³΅μ ( 1κ³Όλͺ©/2κ³Όλͺ© ) (16) | 2023.06.10 |
[SQLD] 2023λ SQLD 48ν ( 1κ³Όλͺ©/2κ³Όλͺ© μ λ΅ ) (6) | 2023.03.20 |
[SQLD] 46ν SQLD ( 1κ³Όλͺ©/2κ³Όλͺ© μ λ΅ ) (3) | 2022.09.05 |
[SQLD] 45ν κΈ°μΆ λ΅μ μμ볡μ/ν΄μ€ (1) | 2022.05.29 |