SQL 23

SQL #20 ํ”„๋กœ์‹œ์ €

20. ํ”„๋กœ์‹œ์ € -ํ”„๋กœ์‹œ์ € * ํ”„๋กœ์‹œ์ € ๋ž€? (์ฐธ์กฐ) ์ž์ฃผ ์‹คํ–‰ํ•ด์•ผํ•˜๋Š” ํŠน์ • ์ž‘์—…์„ ํ•„์š”ํ•  ๋•Œ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด ์ ˆ์ฐจ์ ์ธ ์–ธ์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์„ฑํ•œ ์ด๋ฆ„์ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ชจ๋“ˆ(Block). ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ด๋ฆ„์ด ์žˆ๋Š” PL/SQL BLOCK์ด๋‹ค. ๋ฃจํ‹ด์ด๋‚˜ ์„œ๋ธŒ๋ฃจํ‹ด ๋ฐ ํ•จ์ˆ˜์™€ ๊ฐ™์€ ๋œป์ด๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ์‹œ์ €๋Š” ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ๋ถ€์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ ์˜๋ฏธ๋กœ ์–ด๋–ค ํ–‰๋™์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ์ž‘์—… ์ˆœ์„œ๋ฅผ ๋งํ•œ๋‹ค. -ํ”„๋กœ์‹œ์ € ๋ฌธ๋ฒ• CREATE OR REPLACE PROCEDURE ํ”„๋กœ์‹œ์ € ์ด๋ฆ„ ( ๋งค๊ฐœ๋ณ€์ˆ˜๋ช…1 [ IN || OUT || INOUT ] ๋ฐ์ดํ„ฐํƒ€์ž…, ๋งค๊ฐœ๋ณ€์ˆ˜๋ช…2 [ IN || OUT || INOUT ] ๋ฐ์ดํ„ฐํƒ€์ž… ... ) IS||AS ๋ณ€์ˆ˜, ์ƒ์ˆ˜ ๋“ฑ ์„ ์–ธ ( ์„ ์–ธ๋ถ€ ) BEGIN ์‹ค..

SQL 2021.10.14

SQL #19 ์ธ๋ฑ์Šค

19. ์ธ๋ฑ์Šค -์ธ๋ฑ์Šค *์ธ๋ฑ์Šค ๋ž€?(์ฐธ์กฐ) ์ธ๋ฑ์Šค(index) -> ์ถ”๊ฐ€์ ์ธ ์“ฐ๊ธฐ ์ž‘์—…๊ณผ ์ €์žฅ ๊ณต๊ฐ„์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ํ–ฅ์ƒ ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ. ex) ์ฑ…์—์„œ ์›ํ•˜๋Š” ๋‚ด์šฉ์„ ์ฐพ์„ ๋•Œ ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋ชจํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ฑ…๋“ค์˜ ๋งจ ์•ž ๋˜๋Š” ๋งจ ๋’ค์— ์ƒ‰์ธ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ index๊ฐ€ ์ฑ…์˜ ์ƒ‰์ธ๊ณผ ๊ฐ™๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. -์ธ๋ฑ์Šค์˜ ์žฅ์ ๊ณผ ๋‹จ์  ๋”๋ณด๊ธฐ ์žฅ์  ๋”๋ณด๊ธฐ * ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๋Š” ์†๋„์™€ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. * ์ „๋ฐ˜์ ์ธ ์‹œ์Šคํ…œ์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์  * ์ธ๋ฑ์Šค์˜ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด db์˜ 10%์— ํ•ด๋‹นํ•˜๋Š” ์ €์žฅ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. * ์ธ๋ฑ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. * ์ธ๋ฑ์Šค๋ฅผ ์ž˜๋ชป ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๋Š” ์—ญํšจ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜..

SQL 2021.10.14

SQL #18 ๋ทฐ ์ƒ์„ฑ, ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ

18. ๋ทฐ ์ƒ์„ฑ, ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ -๋ทฐ ์ƒ์„ฑ, ์กฐํšŒ * #17 ์—์„œ ๋งŒ๋“  ๊ฐ•์˜์‹ค1 ํ…Œ์ด๋ธ”๊ณผ STUDENT ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•œ ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•˜์—ฌ ๋ทฐ ์ƒ์„ฑ * ๋ทฐ ์กฐํšŒ * ์ผ๋ฐ˜ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•  ๋•Œ ์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. -๋ทฐ ์ˆ˜์ •, ์‚ญ์ œ * ๋ทฐ ์ˆ˜์ • * ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋ทฐ์—๋„ ๋ฐ˜์˜์ด ๋œ๋‹ค. * ๊ธฐ์กด ๋ฐ์ดํ„ฐ ์ˆ˜์ •(1003 ํ•™์ƒ ENG ์ ์ˆ˜ 90 ->100 ์ˆ˜์ •) *๋ทฐ ์‚ญ์ œ

SQL 2021.10.14

SQL #17 ์กฐ์ธ

17. ์กฐ์ธ -์กฐ์ธ * ์˜์–ด ์ ์ˆ˜๊ฐ€ 50 ์  ์ด์ƒ์ธ ๋ฐ˜์˜ ๊ณผ๋ชฉ ์ดํ•ฉ ๊ทธ๋ฃน * ์˜์–ด ์ ์ˆ˜๊ฐ€ 50 ์  ์ด์ƒ์ธ ๋ฐ˜์˜ ๊ณผ๋ชฉ ์ดํ•ฉ ๊ทธ๋ฃน๊ณผ ๊ฐ•์˜์‹ค1ํ…Œ์ด๋ธ” ์กฐ์ธ * ์˜์–ด ์ ์ˆ˜๊ฐ€ 50 ์  ์ด์ƒ์ธ ๋ฐ˜์˜ ๊ณผ๋ชฉ ์ดํ•ฉ ๊ทธ๋ฃน๊ณผ ๊ฐ•์˜์‹ค1ํ…Œ์ด๋ธ” ์กฐ์ธํ•œ ๊ฒฐ๊ณผ๋ฅผ code, room, teacher ํ•ญ๋ชฉ๋งŒ ํ‘œ๊ธฐ

SQL 2021.10.14

SQL #16 ๊ทธ๋ฃน

16. ๊ทธ๋ฃน -๊ทธ๋ฃน * STUDENT1 ํ…Œ์ด๋ธ” ์กฐํšŒ *STUDENT1 ํ…Œ์ด๋ธ” ๊ทธ๋ฃน * ๊ตญ์–ด ์ ์ˆ˜๊ฐ€ 70 ์ด์ƒ์ธ ๋ฐ˜์˜ ๊ตญ์–ด ํ•ฉ์‚ฐ ์ ์ˆ˜ * ๊ตญ์–ด ์ ์ˆ˜ ํ•ฉ์‚ฐํ•œ ๋ฐ˜์˜ ๊ทธ๋ฃน ์ค‘ ์ด ํ•ฉ์ด 100 ์ด์ƒ์ธ ๋ฐ˜๊ณผ ํ•ฉ์‚ฐ ์ ์ˆ˜ * ์˜์–ด ์ ์ˆ˜๊ฐ€ 50์ด์ƒ์ธ ํ•™์ƒ์˜ ์ด์ ์„ ๊ทธ๋ฃน * ๊ตญ์–ด ์ ์ˆ˜๊ฐ€ 50 ์ด์ƒ์ธ ํ•™์ƒ ๋…„๋„๋ณ„ ๊ทธ๋ฃน

SQL 2021.10.14

SQL #15 ์กฐ์ธ ์‹ค์Šต

15. ์กฐ์ธ ์‹ค์Šต - DEPT02, EMP03 ์กฐ์ธ * DEPT02, EMP03 ํ…Œ์ด๋ธ” ์กฐํšŒ * INNER JOIN * RIGHT OUTER JOIN * LEFT OUTER JOIN * FULL OUTER JOIN1 * DEPTNO 10002 ๊ฐ€ EMP03 ํ…Œ์ด๋ธ”์˜ ํ•ญ๋ชฉ๊ณผ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์•„(์™ธ๋ž˜ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด) ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค. * FULL OUTER JOIN2

SQL 2021.10.14

SQL #14 ์กฐ์ธ 4๊ฐ€์ง€

14. ์กฐ์ธ 4๊ฐ€์ง€ -๊ฐ•์˜์‹ค ๋“ฑ๋ก *๊ฐ•์˜์‹ค ๋“ฑ๋ก, COMMIT *๋“ฑ๋ก ํ™•์ธ -SQL JOIN -์กฐ์ธ 1๋ฒˆ์งธ(INNER JOIN) * INNER JOIN * ์™ธ๋ž˜ํ‚ค๋ฅผ ์กฐ๊ฑด์œผ๋กœ ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ํ•ฉ์นœ๋‹ค. * ์ถ”๊ฐ€ํ•œ ๊ฐ•์˜์‹ค 'D'๋Š” ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค. -> ์™ธ๋ž˜ํ‚ค๋กœ ๋‘ ํ…Œ์ด๋ธ”์ด ๋ฌถ์ด์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ. -์กฐ์ธ 2๋ฒˆ์งธ(RIGHT OUTER JOIN) * RIGHT OUTER JOIN * ๊ฐ•์˜์‹ค 'D'๋Š” ๋‚˜ํƒ€๋‚˜์ง€๋งŒ STUDENT1 ๊ณผ ๋ฌถ์ด์ง€ ์•Š์•„ STUDENT1 ํ…Œ์ด๋ธ” ๋ถ€๋ถ„์€ NULL ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค. -์กฐ์ธ 3๋ฒˆ์งธ(LEFT OUTER JOIN) * LEFT OUTER JOIN * ์™ธ๋ž˜ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด์œผ๋กœ INNER JOIN๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค. (๊ฐ•์˜์‹ค 'D' ์™€ ์—ฐ๊ฒฐ๋œ ํ•™์ƒ ํ•ญ๋ชฉ์ด ์—†์Œ.) -์กฐ์ธ 4๋ฒˆ์งธ(FULLOUT..

SQL 2021.10.14

SQL #13 ํ…Œ์ด๋ธ” ์กฐ์ธ, ๊ทธ๋ฃน

13. ํ…Œ์ด๋ธ” ์กฐ์ธ, ๊ทธ๋ฃน - ํ…Œ์ด๋ธ” ์กฐ์ธ * STUDENT1, CLASSROOM1 ์กฐ์ธ1 * ๋‘ ํ…Œ์ด๋ธ”์„ ์™ธ๋ž˜ํ‚ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์กฐ์ธํ–ˆ๋‹ค. * STUDENT1, CLASSROOM1 ์กฐ์ธ2 * ํ•ญ๋ชฉ์— NO, NAME, ROOM ๋งŒ ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค. -๊ทธ๋ฃน * CLASSROOM1 ๊ณผ STUDENT2(์ƒ์„ฑ) ํ•ฉ์น˜๊ธฐ * EMP04(์ƒ์„ฑ) ๊ณผ DEPT02 ํ•ฉ์น˜๊ธฐ

SQL 2021.10.13