๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

SQLD16

[SQL ์ค‘๊ธ‰] 24. DML - Insert, Update, Delete + Merge 1. Insert  : (์‹ ๊ทœ) ๋ฐ์ดํ„ฐ ์‚ฝ์ž…โ‘  Insert into ํ…Œ์ด๋ธ”๋ช…      values (์ˆซ์ž 1, '๋ฌธ์ž 2', ์ˆซ์ž 3)โ‘ก  Insert into ํ…Œ์ด๋ธ”๋ช… (์นผ๋Ÿผ 1, ์นผ๋Ÿผ 2, ์นผ๋Ÿผ 3)      values (์ˆซ์ž 1, '๋ฌธ์ž 2', ์ˆซ์ž 3)โ˜… Insert + ์„œ๋ธŒ์ฟผ๋ฆฌ : ๋™์ผํ•œ ๊ตฌ์„ฑ์˜ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ +UNION ALL ๋„ฃ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ : โ‘ข Insert into ํ…Œ์ด๋ธ”๋ช…      select empno, ename, sal*2     from emp     where deptno =10    2. Update  : (๊ธฐ์กด) ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝโ˜… Where ์ ˆ ์ง€์ • ํ•„์ˆ˜ :  update ๊ตฌ๋ฌธ ์‚ฌ์šฉ ์‹œ, where์ ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ํ–‰์ด ์ˆ˜์ •๋จ  โ‘  Update ํ…Œ์ด๋ธ”      set.. 2024. 3. 6.
[SQL ์ค‘๊ธ‰] 23. ์ œ์•ฝ์กฐ๊ฑด(Constraint) - PK, FK, Check Constratin  = ์ œ์•ฝ / ๊ทœ์น™์ •ํ•ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ž…๋ ฅํ•˜๋Š” ์กฐ๊ฑด   1.1 Primary Key  - Create -- ์ง์ ‘ ๋‹ฌCreate table emp( ์นผ๋Ÿผ 1 ๋ฐ์ดํ„ฐ ํƒ€์ž… primary key, ์ปฌ๋Ÿผ2 ๋ฐ์ดํ„ฐ ํƒ€์ž…) ;Create table emp( ์ปฌ๋Ÿผ1 ๋ฐ์ดํ„ฐ ํƒ€์ž…, ์ปฌ๋Ÿผ2 ๋ฐ์ดํ„ฐ ํƒ€์ž…,  constraints ํ…Œ์ด๋ธ”_์นผ๋Ÿผ 1 primary key (์นผ๋Ÿผ 1)) ;  1.2 Primary Key  - Alter Alter table ํ…Œ์ด๋ธ”๋ช… add constraint primay key (์นผ๋Ÿผ 1)  2.1  Foreign Key - Create Create table emp( ์นผ๋Ÿผ 1 ๋ฐ์ดํ„ฐ ํƒ€์ž…, ์นผ๋Ÿผ 2 ๋ฐ์ดํ„ฐ ํƒ€์ž…, constraint ํ…Œ์ด๋ธ”_์นผ๋Ÿผ 2 foreign ke.. 2024. 3. 5.
[SQL ์ค‘๊ธ‰] 22. DDL - Creat, Alter, Rename, Drop, Truncate 1.Create ๊ตฌ๋ฌธCreate table ํ…Œ์ด๋ธ”๋ช… ; (   ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… [์ œ์•ฝ์กฐ๊ฑด] ,   ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… [์ œ์•ฝ์กฐ๊ฑด] , ) ; Create view ๋ทฐ๋ช… as ์กฐํšŒ์ฟผ๋ฆฌ Cerate index ์ธ๋ฑ์Šค๋ช… on ํ…Œ์ด๋ธ”๋ช… (์ปฌ๋Ÿผ๋ช…1, ์ปด๋Ÿผ๋ช…2 ...)   2.1 ์นผ๋Ÿผ (๋ฐ์ดํ„ฐ) ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝAlter table ํ…Œ์ด๋ธ”๋ช…rename (ํ˜„)ํ…Œ์ด๋ธ”๋ช… to (์‹ )ํ…Œ์ด๋ธ”๋ช… ;์‹ ๊ทœ ํ…Œ์ด๋ธ”๋ช… ๋ณ€๊ฒฝrename column (ํ˜„)์ปฌ๋Ÿผ๋ช… to (์‹ )์ปฌ๋Ÿผ๋ช… ;์‹ ๊ทœ ์ปฌ๋Ÿผ๋ช…์œผ๋กœ ๋ณ€๊ฒฝadd ์นผ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… ;์‹ ๊ทœ ์ปฌ๋Ÿผ ์ถ”๊ฐ€modify  ์นผ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… ;ํ˜„์žฌ ์นผ๋Ÿผ (๋ฐ์ดํ„ฐํƒ€์ž…/๊ธธ์ด) ๋ณ€๊ฒฝโ€ป ํ•ด๋‹น ์นผ๋Ÿฝ์˜ ๊ฐ’์„ ์ง€์›Œ์•ผ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅdrop ์นผ๋Ÿผ๋ช… ;ํ˜„์žฌ ์นผ๋Ÿผ ์ œ๊ฑฐ  2.2 ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐAlter table ํ…Œ์ด๋ธ”๋ช… .. 2024. 3. 5.
[SQLD] ์ด๋ก  - ์˜ตํ‹ฐ๋งˆ์ด์ €, ์ธ๋ฑ์Šค, ์กฐ์ธ์‹คํ–‰ ๋ฐฉ๋ฒ• ์ ˆ์ฐจํ˜• SQL : (1) Procedure :  DML, DCL  ๊ตฌ๋ถ„์—์„œ ์ˆ˜ํ–‰๋จ์ž…๋ ฅ, ์ถœ๋ ฅ ๊ฐ€๋ŠฅํŠน์ง•:์‹œ์Šคํ…œ์—์„œ ๋งค์ผ ๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…์„ ํ”„๋กœ์‹œ์ €๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ ๋ฐ ์ˆ˜ํ–‰๋จ          (ex. ์›” ๋งˆ๊ฐ ๋ฆฌํฌํŠธ, KPI ๋ฆฌํฌํŠธ, ๋Œ€์‹œ๋ณด๋“œ ๋ฆฌํฌํŠธ)          ๋ฆฌํ„ด๊ฐ’ ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ , ์—†์„ ์ˆ˜๋„ ์žˆ์Œ. ์—ฌ๋Ÿฌ๊ฐœ ๋ฆฌํ„ด๊ฐ’ ์žˆ์„ ์ˆ˜ ์žˆ์Œ(2) Trigger :์ผ๋ฐ˜์  DML ๊ตฌ๋ถ„์—์„œ ์ˆ˜ํ–‰๋จํŠน์ง•: ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์–ด์•ผ ์‹คํ–‰๋œ๋‹ค. Auto commit์œผ๋กœ Commit๊ณผ Roll back ์•ˆ๋จ (2) User Defined    ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ :DBMS๊ฐ€ ๋งŒ๋“  ๋‚ด์žฅ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ, ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  ํ•จ์ˆ˜์ž…๋ ฅ๋งŒ ๊ฐ€๋Šฅ,Select ํ•จ์ˆ˜๋กœ ์ œํ•œํŠน์ง• : ๋ฆฌํ„ด๊ฐ’ ์žˆ์Œ ์˜ตํ‹ฐ๋งˆ์ด์ € (์ตœ์ ํ™”) :๋Œ€์ƒ : ์‚ฌ์šฉ์ž๊ฐ€ ์งˆ์˜ํ•œ SQL ๊ตฌ๋ฌธ ์ค‘ ์ตœ์ .. 2024. 2. 29.
[SQLD] ์ด๋ก  - ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„ฑ๋Šฅ ์ €ํ•˜/ํ–ฅ์ƒ ๋ฐฉ๋ฒ• 1. ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ์ €ํ•˜ : (1) ํ–‰-๋ณ€๊ฒฝ (Row chaining) +  (2)ํ–‰ -์ด์ฃผ (Row migration) = ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค 2. ์„ฑ๋Šฅ ํ–ฅ์ƒ ๋ฐฉ๋ฒ• -  Partitioning :     (1) ๋ฒ”์œ„ ๋ถ„ํ•  (Range Partition) : ํ…Œ์ด๋ธ”์ด ํŠน์ • ๋ฒ”์œ„๋กœ ๋ถ„๋ฆฌ ๊ฐ€๋Šฅํ•  ๋•Œ, ๊ฐ ๋ฒ”์œ„๋ณ„๋กœ Transaction ๋ถ„๋ฆฌ          ใ„ด (+) ๊ด€๋ฆฌ์‰ฌ์›€, ๋ณดํŽธ์           ใ„ดex)  ๊ฑฐ๋ž˜ ๋ชฉ๋ก ์ค‘ : ๋…„๋„๋ณ„ / ์›”๋ณ„๋กœ ๋‚˜๋ˆŒ ๊ฒฝ์šฐ or ์šฐํŽธ๋ฒˆํ˜ธ๋ฅผ ๋ถ„ํ•  ํ‚ค๊ฐ’์œผ๋กœ ์ˆ˜ํ‰ ๋ถ„ํ•     (2) ๋ชฉ๋ก ๋ถ„ํ•  (List Partition) : ํŠน์ •๊ฐ’์œผ๋กœ PK๊ฐ€ ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ, ํ•ด๋‹น ๊ฐ’์œผ๋กœ ๋ถ„๋ฆฌ          ใ„ดex) ๊ฑฐ๋ž˜ ๊ตญ๊ฐ€ ์ค‘ : ํ•œ๊ตญ / ๋ฏธ๊ตญ/ ์ค‘๊ตญ    (3.. 2024. 2. 26.
[SQL ์ค‘๊ธ‰] 21.๊ทธ๋ฃน์ง‘๊ณ„_Roll up, Grouping set, Cube [๊ทธ๋ฃน ํ•จ์ˆ˜ - ๊ทธ๋ฃน๋ณ„๋กœ ๊ฐ’์˜ ์ง‘๊ณ„ & ์ถœ๋ ฅ]-. Group by + 1.roll up  (๋ง์•„ ์˜ฌ๋ผ๊ฐ€๊ธฐ + ์ „์ฒด)                   + 2. cube (๊ฒฝ์šฐ์˜ ์ˆ˜ + ์ „์ฒด)                   + 3. grouping set    1.Group by + Roll up()   -. ์–ธ์ œ : ์†Œ๊ณ„/ ์ด๊ณ„๋ฅผ ์ง‘๊ณ„ํ•  ๋•Œ (Partially Sum + Total) Group by rollup (A, B, C) =  Group by A, B, C (๊ฒฐ๊ณผ 1)   +Group by A, B (๊ฒฐ๊ณผ 2)   +Group by A (๊ฒฐ๊ณผ 3)   + ์ดํ•ฉ Group by rollup(A, (B, C))=  Group by A, (B, C)     โ—€(Group by A, B, C) (๊ฒฐ๊ณผ 1.. 2024. 2. 24.
[SQL ์ค‘๊ธ‰] 20. ๊ณ„์ธต์  ์งˆ์˜ ๊ณ„์ธตํ˜• ๋ฐ์ดํ„ฐ : -. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ์ƒ์œ„, ํ•˜์œ„ ๊ตฌ์กฐ๊ฐ€ ์žˆ์–ด ์ˆœ์ฐจ์ ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ตฌ์กฐ    ใ„ด connect by ๋ถ€๋ชจ / prior ์ž์‹ : ๋ถ€๋ชจ → ์ž์‹ (์ˆœ๋ฐฉํ–ฅ)    ใ„ด connect by ์ž์‹ / prior ๋ถ€๋ชจ : ์ž์‹ → ๋ถ€๋ชจ (์—ญ๋ฐฉํ–ฅ)   ์˜ˆ์‹œ ๋ฌธ์ œ: ๋‹ต ํ•ด์„ค : ์˜ต์…˜ ์‚ฌํ•ญ : -. Connect by no cycle : ๊ณ„์ธต(๋ ˆ๋ฒจ)์ด ์ •ํ•ด์ง„ ํ›„ ์‚ฌ์ดํด ๋ถˆ๊ฐ€ -. Connect_by_isleaf : ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์‹(Leaf) ๋ฐ์ดํ„ฐ๋ฉด 1 ๋ฐ˜ํ™˜, ๊ทธ ์™ธ๋Š” 0 ๋ฐ˜ํ™˜-. Connect_by_is_cycle : ์ „๊ฐœ ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์‹์„ ๊ฐ–๋Š”๋ฐ, ์ž์‹๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€๋ชจ ๋ฐ์ดํ„ฐ๋ฉด 1 ๋ฐ˜ํ™˜, ๊ทธ ์™ธ 0 ๋ฐ˜ํ™˜   (Connect by no cycle์˜ต์…˜ ์‚ฌ์šฉ ์‹œ์—๋งŒ ๊ฐ€๋Šฅ) -. Sys_connect.. 2024. 2. 24.
[SQLD] ์ด๋ก  - ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง - ์—”ํ„ฐํ‹ฐ,์†์„ฑ,๊ด€๊ณ„ 1.๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ํŠน์ง•๋ชจ๋ธ๋ง 3ํŠน์ง•๋ชจ๋ธ๋ง 3 ๊ด€์ (1) ์ถ”์ƒํ™”ํ˜„์‹ค์„ธ๊ณ„ ์–‘์‹ ํ‘œํ˜„ o(1) ๋ฐ์ดํ„ฐ ๊ด€์ What data, what relation(2) ๋‹จ์ˆœํ™”์–ธ์–ด ํ‘œ๊ธฐ o(2) ํ”„๋กœ์„ธ์Šค ๊ด€์ How , process(3) ๋ช…ํ™•ํ™”์• ๋งค๋ชจํ˜ธ x(3) ์ƒ๊ด€ ๊ด€์ What - How ์ƒ๊ด€๊ด€๊ณ„ 2.๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ค‘์š”์„ฑ ๋ฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋ชจ๋ธ๋ง 3 ์ค‘์š”์„ฑ๋ชจ๋ธ๋ง 3 ๋‹จ๊ณ„(1) ์„ค๊ณ„๊ฐ€ ํ‹€๋ฆด ์‹œ, ์˜ํ–ฅ ๅคง(1) ๊ฐœ๋…์  ๋ชจ๋ธ๋ง์—…๋ฌด ์ค‘์‹ฌ, ํฌ๊ด„์  ์ˆ˜์ค€, ์‚ฌ์šฉ์ž ์š”๊ตฌ ๋ฐ์ดํ„ฐ ์ฐพ๊ณ  ๋ถ„์„(2) ๋ณต์žก์ •๋ณด, ๊ฐ„๊ฒฐํ‘œํ˜„(2) ๋…ผ๋ฆฌ์  ๋ชจ๋ธ๋งโ‘  KEY, ์†์„ฑ,๊ด€๊ณ„ ํ‘œํ˜„โ‘ก ์‹๋ณ„์ž ํ™•์ •, ์ •๊ทœํ™”, M:M ๊ด€๊ณ„ ํ•ด์†Œ, ์ฐธ์กฐ๋ฌด๊ฒฐ์„ฑ (3) ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ(3) ๋ฌผ๋ฆฌ์  ๋ชจ๋ธโ‘  ์–ด๋–ป๊ฒŒ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์— ํ‘œํ˜„๋˜๋Š”์ง€ ๊ฒฐ์ •โ‘ก ๋ฌผ๋ฆฌ์  ์ €์žฅ๊ตฌ์กฐ (ํ…Œ์ด๋ธ”,์นผ๋Ÿผ ๋“ฑ)      ใ„ด.. 2024. 2. 23.
[SQLD] ์ด๋ก  - ๊ธฐ๋ณธ ๋ฌธ๋ฒ• DDL,DML,DCL,TCL (Q1-36) 1. SQL - Data Langauge ์ข…๋ฅ˜DDL (Definition ์ •์˜)Creat, Alter, Rename, Drop, TruncateDML (Manipulation ์กฐ์ž‘)Select, Insert, Update, Delete DCL (Control ์ œ์–ด - DB ์ ‘๊ทผ๊ถŒํ•œ)Grante, RevokeTCL (Transaction - ๊ฑฐ๋ž˜/์ˆ˜์ • ์ €์žฅ, ๋’ค๋กœ๊ฐ€๊ธฐ)Commit, Rollback, SavepointBegin transaction 2. DML-. As Is : ๋น„์ ˆ์ฐจ์  DML - ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์Šจ(What) ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š”์ง€๋งŒ์„ ๋ช…์‹œ-. To be : ์ ˆ์ฐจ์  DML - ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ(How) ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€              ใ„ดex) ์˜ค๋ผํด/SQL Server -. ํ…Œ์ด๋ธ” ๋ช… .. 2024. 2. 23.
[SQLD] ์ด๋ก  ANSI SQL -JOIN (+on / +in) ๋ฌธ์ œ ํ’€์ด ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž : Select, Project, Join, Division ๊ธฐ๋ณธ์„œ Q.69์งˆ๋ฌธ: ๊ณ ๊ฐ๋ณ„ ์‚ฌ์šฉ๊ธˆ์•ก์„ ์ถ”์ถœํ•˜๋Š” SQL  → ๊ณ ๊ฐID, ๊ณ ๊ฐ๋ช…, ์‚ฌ์šฉ๊ธˆ์•ก (์‚ฌ์šฉ๋Ÿ‰*๋‹จ๊ฐ€)  select A.๊ณ ๊ฐID, A.๊ณ ๊ฐ๋ช…, sum (B.์‚ฌ์šฉ๋Ÿ‰ * C.๋‹จ๊ฐ€) AS "์‚ฌ์šฉ๊ธˆ์•ก" #1์ฐจ ์กฐ์ธ - A & Bfrom ๊ณ ๊ฐ A inner join ์‹œ๊ฐ„๋Œ€๋ณ„ ์‚ฌ์šฉ๋Ÿ‰ B on (A.๊ณ ๊ฐ ID = B.๊ณ ๊ฐ ID) #2์ฐจ ์กฐ์ธ - A &Cinner join ์‹œ๊ฐ„๋Œ€๊ตฌ๊ฐ„ C on ( B.์‚ฌ์šฉ์‹œ๊ฐ„๋Œ€ between C.์‹œ์ž‘์‹œ๊ฐ„๋Œ€ and C.์ข…๋ฃŒ์‹œ๊ฐ„๋Œ€) group by A.๊ณ ๊ฐID, A.๊ณ ๊ฐ๋ช… order by A.๊ณ ๊ฐID, A.๊ณ ๊ฐ๋ช… ;  ๊ธฐ๋ณธ์„œ Q.72์งˆ๋ฌธ : Left outer join + in (์กฐ๊ฑด)์ธ ๊ฒฝ์šฐ๋Š” ? → lef.. 2024. 2. 21.