λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
IT자격증 곡뢀/SQLD μ˜ˆμƒλ³΅μ›

[SQLD] 2024λ…„ SQLD 54회 κΈ°μΆœλ³΅μ›

by yunamom 2024. 8. 25.
λ°˜μ‘ν˜•

μ•ˆλ…•ν•˜μ„Έμš” yunamom μž…λ‹ˆλ‹€ :D

2024λ…„ 8μ›” 24일 ν† μš”μΌμ— μΉ˜λ€„μ§„ 제54회 SQLD μ‹œν—˜ 1κ³Όλͺ©, 2κ³Όλͺ© 정닡을 ν¬μŠ€νŒ… ν•˜κ² μŠ΅λ‹ˆλ‹€. πŸ‘©πŸ»‍πŸ’»

 

*문제 μˆœμ„œλŠ” λ‹€λ₯Ό 수 있으며 λ‹΅ 자체λ₯Ό μ μ–΄λ‘κ±°λ‚˜ 문제만 적은 κ²½μš°λ„ μžˆμŠ΅λ‹ˆλ‹€.


SQLD 54회 1κ³Όλͺ©

β–  문제 1. μ•„λž˜μ˜ μ„€λͺ…μœΌλ‘œ μ•Œλ§žμ€ 것은?

<지문>

μ‹œμŠ€ν…œμœΌλ‘œ κ΅¬μΆ•ν•˜κ³ μž ν•˜λŠ” 업무에 λŒ€ν•΄ Key, 속성, 관계 등을 μ •ν™•ν•˜κ²Œ ν‘œν˜„, μž¬μ‚¬μš©μ„±μ΄ λ†’μŒ

- 논리적 데이터 λͺ¨λΈλ§


β–  문제 2. μ—”ν„°ν‹° νŠΉμ§•μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- 속성이 μ—†λŠ” μ—”ν„°ν‹°κ°€ μžˆμ„ 수 μžˆλ‹€

(P39. μ—”ν„°ν‹°λŠ” λ°˜λ“œμ‹œ 속성이 μžˆμ–΄μ•Ό ν•œλ‹€.)


β–  문제 3.  μ†μ„± νŠΉμ§•μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- νŒŒμƒ 속성은 λ§Žμ„ 수둝 μ’‹λ‹€


β–  문제 4.  μ‹λ³„μžμ˜ νŠΉμ§•μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- μ£Όμ‹λ³„μžμ˜ 값은 λ³€κ²½ 될 수 μžˆλ‹€


β–  문제 5.  μ‹λ³„μžκ΄€κ³„μ— λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- λΉ„μ‹λ³„μž κ΄€κ³„μ—μ„œ λΆ€λͺ¨μ™€μ˜ κ΄€κ³„λŠ” ν•„μˆ˜ 쑰건이닀


β–  문제 6.  μ•„λž˜ 고객, μ£Όλ¬Έ κ΄€λ ¨ ERD 에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•œ 것은?

- μ£Όλ¬Έμ—μ„œμ˜ κ³ κ°λ²ˆν˜ΈλŠ” 고객 μ—”ν„°ν‹°μ—μ„œ 상속받은 것이닀.


β–  문제 7.  ν•¨μˆ˜ 쒅속성에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•œ 것은?

- 일반 속성이 μ£Όμ‹λ³„μžμ— λͺ¨λ‘μ— ν•¨μˆ˜μ’…μ†μ„±μ΄ μžˆλŠ” μƒνƒœ : 제2μ •κ·œν˜•

(3) μƒν’ˆλ²ˆν˜Έμ— μƒν’ˆλͺ…이 쒅속 -> μƒν’ˆλͺ…은 μƒν’ˆλ²ˆν˜Έμ— 쒅속 (ν‹€λ¦Ό)


β–  문제 8.  μ•„λž˜μ˜ 경우 μƒμ„±ν•˜λŠ” μ‹λ³„μžλŠ”?

<지문>

μ—…λ¬΄μ μœΌλ‘œ λ§Œλ“€μ–΄μ§€μ§€λŠ” μ•Šμ§€λ§Œ μ›μ‘°μ‹λ³„μžκ°€ λ³΅μž‘ν•œ ꡬ성을 κ°–κ³  있기 λ•Œλ¬Έμ— μΈμœ„μ μœΌλ‘œ λ§Œλ“  μ‹λ³„μž

- 인쑰 μ‹λ³„μž


β–  문제 9. νŠΈλžœμž­μ…˜μ— λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- IE μ‹€μ„ , 바컀 O ν‘œμ‹œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”κ²ƒμœΌλ‘œ ν‘œν˜„ ( 거꾸둜 됨)


β–  문제 10. Null λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

(1) IE μ—μ„œ κ°€λŠ₯? 바컀 λΆˆκ°€λŠ₯ (맞음)

(2) NULL은 λ―Έμ§€μ˜ κ°’μ΄λ―€λ‘œ 비ꡐ λΆˆκ°€ν•˜λ‹€ (맞음. λΉ„κ΅λŠ” λΆˆκ°€. 단, μ—°μ‚°μžλ‘œ NULL 이냐 μ•„λ‹ˆλƒλŠ” νŒλ‹¨ κ°€λŠ₯)

(3) NULLμ—λŠ” μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€ ( ν‹€λ¦Ό. P185. SQL μ—°μ‚°μž "IS NULL" 이 있음)

 

SQLD 54회 2κ³Όλͺ©β€‹

β–  문제 11. CTAS 에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- μ œμ•½μ‘°κ±΄μ΄ λͺ¨λ‘ λ³΅μ‚¬λœλ‹€. (μ œμ•½ 쑰건 λͺ¨λ‘κ°€ λ³΅μ‚¬λ˜μ§€ μ•ŠμŒ)


β–  문제 12. View 에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- 컬럼 μΆ”κ°€κ°€ λ˜λ”λΌλ„ View λ₯Ό λ³€κ²½ν•˜μ§€ μ•Šμ•„ μ‘μš©ν”„λ‘œκ·Έλž¨ 변경이 μ—†λ‹€ (?)


β–  문제 13. Database 의 논리적 업무 μ΅œμ†Œ λ‹¨μœ„λŠ”?

- νŠΈλžœμž­μ…˜ (λ‹΅)

- Query

: νŠΈλžœμž­μ…˜μ„ κ΅¬μ„±ν•˜λŠ” λ‹¨μœ„κ°€ Query 즉 SQL 이라 논리적 μ΅œμ†Œ λ‹¨μœ„λ©΄ Query κ°€ 였히렀 λ§žλŠ”κ²Œ μ•„λ‹Œκ°€ μ‹ΆκΈ΄ ν•˜λ„€μš”.

: SQL μ „λ¬Έκ°€ κ°€μ΄λ“œ(P.410) 책에 λΆ„ν•  ν• μˆ˜ μ—†λŠ” μ΅œμ†Œ λ‹¨μœ„λΌ ν•˜λ‹ˆ... 일단 닡은 νŠΈλžœμž­μ…˜.

-> νŠΈλžœμž­μ…˜μ€ λΆ„ν• ν•  수 μ—†λŠ” μ΅œμ†Œμ˜ λ‹¨μœ„λ‹€. 


β–  문제 14. μ•„λž˜μ˜ μ •κ·œν˜•μ— λŒ€ν•œ 값이 λ‚˜μ˜€μ§€ μ•ŠλŠ” 것은? ( 3,4, - μžˆλŠ” ν˜•νƒœ. λ³΄κΈ°λŠ” μ „ν™”λ²ˆν˜Έ)

- 02) 둜 μ‹œμž‘ν•˜λŠ” ν˜•νƒœ


β–  문제 15. μ•„λž˜μ˜ κ³„μΈ΅ν˜• 쿼리와 결과에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- μ—­λ°©ν–₯이닀. (Prior emp_no = mgr_no --> 순방ν–₯)


β–  문제 16. μ„œλΈŒμΏΌλ¦¬μ— λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

(1) 1:M 에 관계일 λ•Œ M 레벨둜 μ§‘κ³„λœλ‹€

(2) μ„œλΈŒμΏΌλ¦¬μ˜ μ»¬λŸΌμ€ 메인 μΏΌλ¦¬μ—μ„œ μ‚¬μš©ν•  수 μ—†λ‹€

>> μ „λ¬Έκ°€ κ°€μ΄λ“œ P.280,

"κ·ΈλŸ¬λ‚˜ μ„œλΈŒ μΏΌλ¦¬λŠ” μ„œλΈŒ 쿼리 λ ˆλ²¨κ³ΌλŠ” 상관없이 항상 메인 쿼리 레벨둜 κ²°κ³Ό 집합이 μƒμ„±λœλ‹€.

예λ₯Ό λ“€μ–΄ 메인 쿼리둜 쑰직(1), μ„œλΈŒ 쿼리둜 사원(M) ν…Œμ΄λΈ”μ„ μ‚¬μš©ν•˜λ©΄ κ²°κ³Ό 집합은 쑰직(1) λ ˆλ²¨μ΄λœλ‹€."

λΌλŠ” λ‚΄μš©μ΄ μžˆλ„€μš”. 책에 μ˜ν•˜λ©΄ 1번이 ν‹€λ¦°κ²Œ λ˜λŠ”λ°, 2λ²ˆλ„ ν‹€λ ΈμŠ΅λ‹ˆλ‹€.

 

μ„œλΈŒμΏΌλ¦¬λŠ” Inline View λ₯Ό κ°€μ§€λ―€λ‘œ 2λ²ˆλ„ ν‹€λ¦°κ²Œ λ˜λŠ”λ°... 1λ²ˆμ€ M λ ˆλ²¨λ‘œλ„ 집계가 κ°€λŠ₯ν•©λ‹ˆλ‹€.

λ§ˆμ°¬κ°€μ§€λ‘œ Inline View κ°€ μ‚¬μš©λ˜μ–΄ 쑰인이 되면 1:M 이 되면 M 레벨이 될 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.


β–  문제 17. μ•„λž˜ SQL 에 λŒ€ν•œ 결과와 같은 것은?

<SQL>

... case when col1 = 'X' then null else col1

-> 값이 맞으면 null 을 λ„μΆœν•˜λŠ” ν•¨μˆ˜

- nullif (col1,'x')


β–  문제 18. SQL 의 κ²°κ³Όκ°€ λ‹€λ₯Έ 것은? (Oralce 에 ν•œν•¨ --> μ΄λž€ 쑰건이 μžˆμ—ˆλ‹€κ³  함)

 

(1) SELECT COL1,COL2,COL3
FROM TAB
WHERE COL1 < 5;

(2) SELECT T.*
FROM TAB AS T
-> μ •λ‹΅ 2번 (μ˜€λΌν΄μ—μ„œλŠ” FROMμ ˆμ— 'AS' ν‚€μ›Œλ“œ μ‚¬μš© λΆˆκ°€)

(3) SELECT *
FROM TAB

(4) SELECT *
FROM TAB
WHERE COL2 IN (2,3)

 


β–  문제 19. μ•„λž˜μ˜ μ„€λͺ…을 SQL 둜 μž‘μ„±ν•œ 것쀑 μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

<지문>
STADIUM κ΄€λ ¨ μ„€λͺ…
- SELECT ... , STADIUM .. -> STADIUM 은 λ‘κ°œ ν…Œμ΄λΈ”μ΄ μ‘΄μž¬ν•˜λ―€λ‘œ ν…Œμ΄λΈ”λͺ… ν‘œμ‹œκ°€ ν•„μš”ν•¨

β–  문제 20. μ•„λž˜ SQL 에 λŒ€ν•œ 결과둜 μ•Œλ§žμ€ 것은? (COALESCE 문제)

<SQL>
SELECT ... , COALESCE (A, 50*B, '50')

β–  문제 21. μ•„λž˜ SQL 의 결과둜 μ μ ˆν•œ 것은? (문제 이상, NATURAL JOIN 문제)

KEYA | COL1 | COL2        KEYB  | COL1 | COL2 
1       A      κ°€           1      A      κ°€
2       A      κ°€           3      C      λ‹€
5       C      λ‹€ 
​
- μ•„λž˜ 처럼 λ‚˜μ˜€λ‚˜ 닡이 μ—†μŒ
1       A      κ°€           1      A      κ°€
2       A      κ°€           1      A      κ°€ 
5       C      λ‹€           3      C      λ‹€
​
-> 문제 였λ₯˜λΌκ³  보여짐

β–  문제 22. INNER JOIN κ΄€λ ¨ 문제

- KIM,KIM μ€‘λ³΅μœΌλ‘œ λ‚˜μ˜΄


β–  문제 23. LEFT OUTER JOIN 문제

- SMITH ROW κ°€ NULL 인 문제


β–  문제 24. ν–‰μ˜ μˆ˜κ°€ κ°€μž₯ λ§Žμ€ SQL 은?

- CROSS JON ν›„ 쑰건절 μžˆλŠ” 보기 (9개둜 λ‚˜λ¨Έμ§€ 보닀 1개 많음)

-> from μ ˆμ— table * table 은 쑴재 ν•˜μ§€ μ•ŠμŒ (Oracle μ—μ„œ μ—λŸ¬ λ°œμƒ)

[TAB1]
CODE    PCOLOR
---------------
1       λΉ¨κ°•
2       λ…Έλž‘
3       νŒŒλž‘
4       κ²€μ •


[TAB2]
CODE     PSIZE
---------------
1         μ†Œ
2         쀑
3         λŒ€
4         νŠΉλŒ€
1)                                2)
SELECT CODE                        SELECT *
FROM TAB1                          FROM TAB1 * TAB2
UNIOR ALL                          WHERE TAB1.CODE = TAB2.CODE;
SELECT CODE
FROM TAB2;

3)                                3)
SELECT *                          SELECT *
FROM TAB1, TAB2                   FROM TAB1 FULL OUTER JOIN TAB2
WHERE TAB1.PCOLOR                 ON TAB1.CODE = TAB2.CODE;
IN ('λ…Έλž‘','νŒŒλž‘','κ²€μ •')                        
AND TAB1.PCOLOR IN('μ†Œ','쀑','λŒ€');

>> μ„€λͺ… : https://cafe.naver.com/sqlpd/81356

μ •λ‹΅: 3번 (9개)


β–  문제 25. μ œμ•½ 쑰건에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- UK λŠ” NOT NULL 이닀.


β–  문제 26. μ•„λž˜μ˜ SQL κ³Ό 같은 SQL 은? (IN - EXISTS μ „ν™˜ 문제)

<SQL>
...
WHERE 번호 IN (SELECT 번호 FROM ... WHERE A.성별 = B.성별)
​
- EXISTS (SELECT 'X' FROM ... WHERE A.성별 = B.성별 AND A.번호 = B.번호)

β–  문제 27. μ•„λž˜μ˜ SQL 결과둜 μ•Œλ§žμ€ 것은?

<SQL>
SELECT COUNT(*)
FROM ...
WHERE ... NOT IN (SELECT COL1 FROM ... ) --> COL1 에 NULL 이 포함됨
​
- 0 건

β–  문제 28. μ•„λž˜μ˜ SQL 결과둜 μ•Œλ§žμ€ 것은? ( in - null 쑰건 )

<SQL>
SELECT ...
FROM ...
WHERE ... IN ( 'A','B',NULL)
​
- 'A', 'B' 만 λ§Œμ‘±ν•˜λŠ” 둜우

β–  문제 29. μ•„λž˜μ˜ SQL 결과둜 μ•Œλ§žμ€ 것은? ( λ‚˜μ΄ - 평균 )

<Table>
λ‚˜μ΄
10
20
20
30
30
​
<SQL>
SELECT AVG(λ‚˜μ΄) ...
​
- 10,10,15

β–  문제 30. μ•„λž˜μ˜ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜κΈ° μœ„ν•΄ λΉˆμΉΈμ— μ•Œλ§žμ€ 것은? (GROUPING SET 문제)

<DATA>
COL1, COL2, 집계
--> COL2 만 NULL 이 μžˆλŠ” 집계
​
- GROUPING SET( (COL1, COL2), COL2)

β–  문제 31. μ•„λž˜μ˜ Window Function μ„€λͺ…에 λ§žλŠ” 것은?

<지문>
νŒŒν‹°μ…˜λ³„ μœˆλ„μš°μ˜ 전체 κ±΄μˆ˜μ—μ„œ ν˜„μž¬ 행보닀 μž‘κ±°λ‚˜ 같은 κ±΄μˆ˜μ— λŒ€ν•œ λˆ„μ λ°±λΆ„μœ¨μ„ κ΅¬ν•˜λŠ” ν•¨μˆ˜
- cume_dist

β–  문제 32. μ•„λž˜μ˜ μ„€λͺ…을 λ§Œμ‘±ν•˜λŠ” SQL 둜 μ•Œλ§žμ€ 것은? ( Window Function 문제 )

<지문>
연봉은 μ˜€λ¦„μ°¨μˆœ, -100 ~ 200 μ‚¬μ΄μ˜ μ—°λ΄‰μž 수 κ΅¬ν•˜κΈ° 
​
- count(*) over(partition by department_id order by salary range between 100 preceding and 200 following ) (1번)
-> P.336 COUNT ν•¨μˆ˜ μ„€λͺ… λΆ€λΆ„ μ°Έκ³ 
​
<Test>
select employee_id,
       first_name,
       salary,
       count(*) over(partition by department_id 
                     order by salary range between 100 preceding and 200 following )
from hr.employees 
where 1=1
and department_id = 30
order by salary

β–  문제 33. μ•„λž˜μ˜ SQL μ—μ„œ 7783 번의 κ²°κ³ΌλŠ”? (ROW_NUMBER, RANK, DENSE_RANK λ¬»λŠ” 문제)

<TABLE>
...
​
<SQL>
SELECT ROW_NUMBER..
RANK..
DENSE_RANK.

- 4, 4, 3

β–  문제 34. κ°•μ’Œλ²ˆν˜Έκ°€ 100, 101 인 κ³Όλͺ©μ„ λ™μ‹œμ— λ“£λŠ” ν•™λ²ˆμ„ κ΅¬ν•˜λŠ” SQL 둜 μ•Œλ§žμ€ 것은?

1) ... WHERE κ°•μ˜λ²ˆν˜Έ = 100 AND κ°•μ˜λ²ˆν˜Έ = 101 
2) SELECT ... INTERSECT ... 
3) ... WHERE κ°•μ˜λ²ˆν˜Έ IN(100,101)
4) ... WHERE κ°•μ˜λ²ˆν˜Έ = 100 OR 101

 

μ •λ‹΅: 2번 INTERSECT (ꡐ집합)


β–  문제 35. μ•„λž˜μ˜ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” SQL 의 λΉˆμΉΈμ— μ μ ˆν•œ 것은? ( SELF JOIN 으둜 λ“±μˆ˜ κ΅¬ν•˜κΈ°)

<SQL>

​

SELECT ( 1 )

FROM ..

WHERE ... ( SELECT .. FROM .. WHERE ( 2 )

​

- COUNT(*)+1, T1.점수 < T2.점수

SELECT 이름,
       점수,
       (SELECT COUNT(*) + 1
        FROM t1 t2
        WHERE t1.점수 < t2.점수) AS μˆœμœ„
FROM t1
ORDER BY μˆœμœ„;

>> μ„€λͺ… : https://cafe.naver.com/sqlpd/81362


β–  문제 36. 행이 2건인 ν…Œμ΄λΈ”μ—μ„œ κ²°κ³Όκ°€ λ‹€λ₯Έ SQL 은?

​

- SELECT .. .FROM ... WHERE .. ROWNUM = 2

( ROWNUM = 2 λŠ” 데이터 0 건 λ°œμƒ )


​

β–  문제 37. μ•„λž˜μ˜ SQL 에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ•Œλ§žμ€ 것은? (UPDATE ꡬ문)

<SQL>
-- create table emp_test as select * from hr.employees;
​
update emp_test a 
set salary = (select salary * 1.1 from emp_test b 
              where a.employee_id = b.employee_id 
              and b.department_id = 60);
​
select * from emp_test
where department_id = 90;

​

<보기>

1번 DEPTNOκ°€ 10인 μ‚¬μ›λ“€μ˜ 월급을 10% μΈμƒν•˜λŠ” 쿼리이닀

2번 UPDATE ...WHERE DEPTNO = 10κ³Ό λ™μΌν•œ μ˜λ―Έμ΄λ‹€

3번 였λ₯˜κ°€ λ°œμƒν•œλ‹€

4번 DEPTNOκ°€ 10이 μ•„λ‹Œ λͺ¨λ“  μ‚¬μ›λ“€μ˜ 월급이 NULL둜 μˆ˜μ •λœλ‹€ -> μ •λ‹΅


β–  문제 38. μ•„λž˜μ˜ TABLE 에 λŒ€ν•œ SQL μˆ˜ν–‰ μ‹œ μ΅œμ’… κ²°κ³ΌλŠ”? ( μ œμ•½ 쑰건 체크 문제 )

​

<TABLE>
COL1 PK
COL2 CHECK > 500
​
<SQL>
INSERT ....
UPDATE .... (CHECK 쑰건 μœ„λ°˜)
INSERT .... (PK 쑰건 μœ„λ°˜)
INSERT ....
​
SELECT SUM(..)

​

- 770


β–  문제 39. μ•„λž˜μ˜ SQL 결과둜 μ•Œλ§žμ€ 것은?

<SQL>
SELECT COL1,
SUM(맀좜) 총맀좜
FROM ...
GROUP BY COL1
ORDER BY 총맀좜

 

- λΆ€μ„œ2 11300

λΆ€μ„œ1 18000

​

: μ˜€λ¦„μ°¨μˆœ μ •λ ¬μ΄λ―€λ‘œ μœ„μ™€ κ°™μŒ


β–  문제 40. μ•„λž˜μ˜ SQL 에 λŒ€ν•œ 결과둜 μ•Œλ§žμ€ 것은? ( NULL + 집계 μ—°μ‚°)

<TABLE>
...
​
<SQL>
SELECT COL1, MIN(COL2), MAX(COL2), SUM( COL2+ COL3)
...
​
- NULL NULL NULL NULL
A ..
B ..
C ..

β–  문제 41. μ•„λž˜μ˜ λΉˆμΉΈμ— μ•Œλ§žμ€ 것은?

<지문>
μž…λ ₯, μˆ˜μ •, μ‚­μ œν•œ 데이터에 λŒ€ν•΄ μ „ν˜€ λ¬Έμ œκ°€ μ—†λ‹€κ³  νŒλ‹¨λμ„ 경우 ( ) λͺ…λ Ήμ–΄λ‘œ νŠΈλžœμž­μ…˜μ„ μ™„λ£Œν•  수 μžˆλ‹€.

- COMMIT


β–  문제 42. μ•„λž˜μ˜ SQL 에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•œ 것은? 

<SQL>
​
SELECT ..
FROM .. μ£Όλ¬Έ join  μ£Όλ¬Έλ‚΄μ—­.....
...  κ³„μ’Œλ²ˆν˜Έ

​- μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λœλ‹€ (DESC κ°€ μžˆμ—ˆλ‹€κ³  함)


β–  문제 43. ν…Œμ΄λΈ”μ˜ 데이터와 μ’…μ†λœ ν…Œμ΄λΈ”μ„ μ§€μš°λŠ” λͺ…λ Ήμ–΄λ‘œ μ•Œλ§žμ€ 것은?

- DROP / CASCADE


β–  문제 44. μ•„λž˜μ˜ SQL 에 λŒ€ν•œ 결과둜 μ•Œλ§žμ€ 것은?

​

<SQL>
SELECT CASE WHEN ...
ELSE 'μ·¨κΈ‰μ•ˆν•¨' ..
FROM ...

​

- μ·¨κΈ‰μ•ˆν•¨ λ‚˜μ˜€λŠ” 보기


β–  문제 45. μ•„λž˜μ˜ SQL 에 λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ•Œλ§žμ€ 것은? (LIKE 문제)

<SQL>

SELECT .. FROM . WHERE COL1 LIKE 'A%'

​

- λŒ€λ¬Έμž A 둜 μ‹œμž‘ν•˜λŠ” λͺ¨λ“  ROW


β–  문제 46. μ•„λž˜μ˜ SQL κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” SQL 둜 μ•Œλ§žμ€ 것은?

<DATA>
COL1 COL2
1 NULL
2 1
3 2
​
- LAG

​

β–  문제 47. μ•„λž˜ SQL 의 결과둜 μ•Œλ§žμ€ 것은? (집계 Count κ²°κ³Ό )

select count(*) + count(col1) + count(distinct col2)
from ...
-> 5+3+2 = 10

β–  문제 48. 단일행 ν•¨μˆ˜μ— λŒ€ν•œ μ„€λͺ…μœΌλ‘œ μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

- GROUP BY 에 μ‚¬μš©ν•  수 μ—†λ‹€. (Group by 에 μ‚¬μš© κ°€λŠ₯)

​

<보기>

1) 각 행에 κ°œλ³„μ μœΌλ‘œ μ μš©λœλ‹€ (맞음)

2) μ—¬λŸ¬ 인자λ₯Ό 넣을 수 μžˆλ‹€ (맞음)

3) 쀑첩 μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€ (맞음)

​>> SQL μ „λ¬Έκ°€ κ°€μ΄λ“œ P.153 에 μ•„λž˜ λ‚΄μš©μ΄ μžˆμŠ΅λ‹ˆλ‹€.

"단일행 ν•¨μˆ˜μ˜ μ€‘μš”ν•œ νŠΉμ§•μ€ λ‹€μŒκ³Ό κ°™λ‹€.

- SELECT, WHERE, ORDER BY μ ˆμ— μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.

- 각 행듀에 λŒ€ν•΄ κ°œλ³„μ μœΌλ‘œ μž‘μš©ν•΄ 데이터 값듀을 μ‘°μž‘ν•˜κ³ , 각각의 행에 λŒ€ν•œ μ‘°μž‘ κ²°κ³Όλ₯Ό λ¦¬ν„΄ν•œλ‹€.

- μ—¬λŸ¬ 인자(Argument)λ₯Ό μž…λ ₯해도 단 ν•˜λ‚˜μ˜ 결과만 λ¦¬ν„΄ν•œλ‹€.

- ν•¨μˆ˜μ˜ 인자둜 μƒμˆ˜•λ³€μˆ˜•ν‘œν˜„식이 μ‚¬μš© κ°€λŠ₯ν•˜κ³ , ν•˜λ‚˜μ˜ 인수λ₯Ό κ°€μ§€λŠ” κ²½μš°λ„ μžˆμ§€λ§Œ μ—¬λŸ¬ 개의 인수λ₯Ό κ°€μ§ˆ μˆ˜λ„ μžˆλ‹€.

- νŠΉλ³„ν•œ κ²½μš°κ°€ μ•„λ‹ˆλ©΄ ν•¨μˆ˜μ˜ 인자둜 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” ν•¨μˆ˜μ˜ 쀑첩이 κ°€λŠ₯ν•˜λ‹€."

​

μ•„λž˜ ν…ŒμŠ€νŠΈ 처럼 단일행 ν•¨μˆ˜... Group By 에도 μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

Group by κ°€ λˆ„λ½λœλ“―μš”.

<Test : LiveSQL - Oracle >
select substr(first_name,1,3) as first_1_3,
       count(*)
from hr.employees 
where department_id =60
group by substr(first_name,1,3)
--> group by 에 잘 μ‚¬μš©λ¨ 
​
​
select substr(instr(first_name,'D',1),1,3) as first_1_3,
       count(*)
from hr.employees 
where department_id =60
group by substr(instr(first_name,'D',1),1,3) 
--> 쀑첩도 되고, μ€‘μ²©λœ ν•¨μˆ˜λ₯Ό select, group by λͺ¨λ‘ μ‚¬μš© κ°€λŠ₯함

β–  문제 49. Inner join 에 λŒ€ν•œ μ„€λͺ… 쀑 μ μ ˆν•˜μ§€ μ•Šμ€ 것은?

​- 쑰인으둜 μ‚¬μš©λ˜λŠ” μ»¬λŸΌμ€ 컬러λͺ…이 λ°˜λ“œμ‹œ 컬럼λͺ…이 κ°™μ•„μ•Ό ν•œλ‹€.


β–  문제 50. μ•„λž˜μ˜ SQL 에 λŒ€ν•œ 결과둜 μ•Œλ§žμ€ 것은? ( Inner join ν›„ 각 ν…Œμ΄λΈ”μ— λŒ€ν•œ 쑰건 체크)

<Table>
T1 
-----------------
col1 col2 col3 
κ°€    A    2
λ‚˜    B    3
λ‹€    C    null
​
T2
-----------------
col1 col2
2    A    
3    C
​

<SQL>
SELECT *
FROM T1 INNER JOIN T2 ON T1.COL2 = T2.COL2
WHERE 1=1
AND T1.COL3 >= 3 
AND T2.COL2 IN ('A','B')
​
- λ‚˜...

 

 

좜처: λ°μ΄ν„° μ „λ¬Έκ°€ 포럼

300x250

μ½”λ“œ