๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

DB/Oracle19

[Oracle] ์˜ค๋ผํด ์˜จ๋ผ์ธ ์—ฐ์Šตํ•˜๊ธฐ - Live SQL ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค. :) ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์˜ค๋ผํด ์„ค์น˜์—†์ด ์˜จ๋ผ์ธ์œผ๋กœ ์—ฐ์Šตํ• ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ๋จผ์ € ! ์•„๋ž˜ ์‚ฌ์ดํŠธ๋กœ ์ ‘์†ํ•ด์ฃผ์„ธ์š” (Oracle Live SQL) https://www.oracle.com/database/technologies/oracle-live-sql/ Live SQL www.oracle.com 2. Start Coding Now ํด๋ฆญ 3. ์˜ค๋ผํด ๊ณ„์ •์ด ์žˆ์œผ์‹ ๋ถ„๋“ค์€ Sign in , ์—†์œผ์‹  ๋ถ„๋“ค์€ Create Account ํด๋ฆญํ•ด์„œ ๊ณ„์ •์„ ๋งŒ๋“ ํ›„์— Sign in 4. Live SQL ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉด ์™„๋ฃŒ! 2024. 3. 6.
[Oracle] ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ์ข…๋ฅ˜ - ( ์Šค์นผ๋ผ, ์ธ๋ผ์ธ๋ทฐ, ์ค‘์ฒฉ ) ์„œ๋ธŒ์ฟผ๋ฆฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์„œ๋ธŒ์ฟผ๋ฆฌ๋ž€ ๋ฉ”์ธ์ฟผ๋ฆฌ์— ์†ํ•ด ์žˆ์œผ๋ฉฐ ๋ถ€๋ชจ์™€ ์ž์‹๊ฐ™์€ ๊ณ„์ธต์ ์ธ ๊ด€๊ณ„์ด๋‹ค. ์ž์‹์ด ๋ถ€๋ชจ์— ์†ํ•ด์žˆ๋Š”๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„œ๋ธŒ์ฟผ๋ฆฌ๊ฐ€ ๋ฉ”์ธ์ฟผ๋ฆฌ์— ์ข…์†๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ๋…์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๊ณ  ๋ฉ”์ธ์ฟผ๋ฆฌ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. *์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ๋ฉ”์ธ์ฟผ๋ฆฌ์˜ ์นผ๋Ÿผ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฉ”์ธ์ฟผ๋ฆฌ๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ์นผ๋Ÿผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ๋ฉ”์ธ์ฟผ๋ฆฌ์—์„œ ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ์นผ๋Ÿผ์„ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” (์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ, ์ธ๋ผ์ธ ๋ทฐ) ์งˆ์˜ ๊ฒฐ๊ณผ์— ์„œ๋ธŒ์ฟผ๋ฆฌ ์นผ๋Ÿผ์„ ํ‘œ์‹œํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์กฐ์ธ ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ํ•จ์ˆ˜, ์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ ๋“ฑ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ธ๋ผ์ธ ๋ทฐ๋Š” ๋™์ ์œผ๋กœ ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”์ด๋ฏ€๋กœ ์ธ๋ผ์ธ ๋ทฐ์˜ ์ปฌ๋Ÿผ(์ฆ‰, ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ์ปฌ๋Ÿผ)์€ SQL๋ฌธ์—์„œ ์ฐธ์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ์ข…๋ฅ˜๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€(์Šค์นผ๋ผ, ์ธ๋ผ์ธ ๋ทฐ, ์ค‘์ฒฉ) ๋กœ .. 2023. 6. 6.
[Oracle] sqlplus Linesize, Pagesize, Column ์‚ฌ์ด์ฆˆ ์กฐ์ ˆํ•˜๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค :D sqlplus ํ„ฐ๋ฏธ๋„ํ™”๋ฉด์—์„œ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ€๋ ค๋ณด์ด๊ฑฐ๋‚˜ ๋‹ค์Œ์ค„๋กœ ๋„˜์–ด๊ฐ€๋ฒ„๋ ค์„œ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ์š” ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” sqlplus ํ™”๋ฉดํฌ๊ธฐ ์กฐ์ ˆ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜Š set linesize 100 : ํ–‰์˜ ์‚ฌ์ด์ฆˆ set pagesize 10 : ํ•œ ํŽ˜์ด์ง€์— ์ถœ๋ ฅ๋  ํ–‰์˜ ๊ฐฏ์ˆ˜ column ์ปฌ๋Ÿผ format a10 : ์ปฌ๋Ÿผ ์‚ฌ์ด์ฆˆ desc ํ…Œ์ด๋ธ” : ํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ๊ฐ’ ํ™•์ธ *column์„ col๋กœ ๋ฐ”๊พธ์–ด๋„ ๊ฐ€๋Šฅ set linesize 100 : ํ–‰์˜ ์‚ฌ์ด์ฆˆ set pagesize 10 : ํ•œ ํŽ˜์ด์ง€์— ์ถœ๋ ฅ๋  ํ–‰์˜ ๊ฐฏ์ˆ˜ column ์ปฌ๋Ÿผ format a10 : ์ปฌ๋Ÿผ ์‚ฌ์ด์ฆˆ desc ํ…Œ์ด๋ธ” : ํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ๊ฐ’ ํ™•์ธ *column์„ col๋กœ ๋ฐ”๊พธ์–ด๋„ ๊ฐ€๋Šฅ .. 2022. 12. 27.
[Oracle] ํŠน์ˆ˜๋ฌธ์ž ๊ฒ€์ƒ‰ - ESCAPE ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• [TEST] NAME ------ __A _B_ C D__ E SQL> SELECT * FROM TEST WHERE NAME LIKE '%_%'; [RESULT] NAME ------ __A _B_ C D__ E TEST ํ…Œ์ด๋ธ”์—์„œ ์œ„์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๋กœ ๊ฒ€์ƒ‰์„ ํ•˜๊ฒŒ ๋˜๋ฉด '_' ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ํ–‰์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ํŠน์ˆ˜ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด % ๋˜๋Š” _์™€ ๊ฐ™์€ ํŠน์ˆ˜ ๋ฌธ์ž๊ฐ€ ํฌํ•จ ๋œ ๋ฌธ์ž์—ด ์—ด์— ๋Œ€ํ•ด LIKE ๊ฒ€์ƒ‰์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š”๋ฐ์š” SQL> SELECT * FROM TEST WHERE NAME LIKE '%@_%' ESCAPE '@'; [RESULT] NAME ------ __A _B_ D__ LIKE ์—ฐ์‚ฐ์œผ๋กœ '%' ๋‚˜ '_' ๋“ฑ๊ณผ ๊ฐ™์€ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ„์™€ ๊ฐ™์ด E.. 2022. 10. 1.
[Oracle] ๊ณ„์ธตํ˜• ์ฟผ๋ฆฌ ์ดํ•ดํ•˜๊ธฐ (์„ค๋ช…/์˜ˆ์ œ) ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค :D ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Oracle10g ๋ถ€ํ„ฐ CONNECT BY ์ ˆ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธตํ˜• ์ฟผ๋ฆฌ์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ๊ณ„์ธตํ˜• ์ฟผ๋ฆฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ํ•œ ํ…Œ์ด๋ธ”์— ๋‹ด๊ฒจ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ ˆ์ฝ”๋“œ๋“ค์ด ์„œ๋กœ ์ƒํ•˜ ๊ด€๊ณ„(๋ถ€๋ชจ, ์ž์‹) ๊ด€๊ณ„๋ฅผ ์ด๋ฃจ๋ฉฐ ์กด์žฌํ•  ๋•Œ, ์ด ๊ด€๊ณ„์— ๋”ฐ๋ผ ๋ ˆ์ฝ”๋“œ๋ฅผ hierarchical(์ƒํ•˜์œ„) ํ•œ ๊ตฌ์กฐ๋กœ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” SQL์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ถ„ ์„ค๋ช… LEVEL - ํ˜„์žฌ ํ…Œ์ด๋ธ”์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ - ์˜ค๋ผํด์˜ ๋ชจ๋“  SQL์—์„œ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ๋ช‡ ๋ฒˆ์งธ ๋‹จ๊ณ„์ด๋ƒ๋ฅผ ์˜๋ฏธํ•จ START WITH - ์–ด๋””๋ถ€ํ„ฐ ์‹œ์ž‘ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์ •ํ•จ ( ์ตœ์ƒ์œ„ ๋ ˆ์ฝ”๋“œ ) CONNECT BY PRIOR - ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ๊ฐ ํ–‰์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ์„ค์ • - EMP ํ…Œ์ด๋ธ”์—์„œ.. 2022. 4. 29.
[Oracle] LPAD, RPAD ํ•จ์ˆ˜ ์‚ฌ์šฉ๋ฒ• โœจ์˜ค๋ผํด(Oracle) LPAD, RPAD ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฌธ์ž๊ธธ์ด๋ฅผ ๋˜‘๊ฐ™์ด ๋งž์ถฐ์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ) 123, 12, 1 -> 0123, 0012, 0001 โ—พ๏ธ LPAD("๊ฐ’", "๋ฌธ์ž๊ธธ์ด", "์ฑ„์›€๋ฌธ์ž") ๋ฌธ์ž๊ธธ์ด๋งŒํผ ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฑ„์›€๋ฌธ์ž๋กœ ์ฑ„์›Œ์ค€๋‹ค. SELECT LPAD(time,4,'0')time FROM test; --์ถœ๋ ฅํ™”๋ฉด TIME ----- 0930 0930 โ—พ๏ธ RPAD("๊ฐ’", "๋ฌธ์ž๊ธธ์ด", "์ฑ„์›€๋ฌธ์ž") ๋ฌธ์ž๊ธธ์ด๋งŒํผ ์˜ค๋ฅธ์ชฝ๋ถ€ํ„ฐ ์ฑ„์›€๋ฌธ์ž๋กœ ์ฑ„์›Œ์ค€๋‹ค. SELECT RPAD(time,4,'0')time FROM test; --์ถœ๋ ฅํ™”๋ฉด TIME ----- 9300 9300 โ—พ๏ธ์˜ˆ์ œ SELECT substr(RPAD(time,4,'0'),1,2) ||':'|| substr(RPA.. 2022. 4. 28.
[Oracle] GRANT(๊ถŒํ•œ๋ถ€์—ฌ) / REVOKE (๊ถŒํ•œํšŒ์ˆ˜) GRANT REVOKE ์‚ฌ์šฉ์ž(User)์—๊ฒŒ ์ ‘์†๊ถŒํ•œ, ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑ๊ถŒํ•œ, DBA ๊ถŒํ•œ ๋“ฑ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด ์‚ฌ์šฉ์ž(User)์—๊ฒŒ ๋ถ€์—ฌํ•œ ๊ถŒํ•œ์„ ๋‹ค์‹œ ํšŒ์ˆ˜ํ•˜๋Š” ๋ช…๋ น์–ด ์˜ค๋ผํด์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ„์ •, ์•”ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‚œ ๋’ค์— ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ์ ‘์† ๋ฐ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. System Privilege (์‹œ์Šคํ…œ ๊ถŒํ•œ) 2. Object Privilege (๊ฐ์ฒด ๊ถŒํ•œ) โœจ์‹œ์Šคํ…œ ๊ถŒํ•œ (System Privileges) ์‹œ์Šคํ…œ ๊ถŒํ•œ์€ ์‚ฌ์šฉ์ž (User) ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. - DBA ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์œ ์ € (SYS , SYSTEM) ๋งŒ ์‹œ์Šคํ…œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ณ  ํšŒ์ˆ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๊ถŒํ•œ์˜ ANY ํ‚ค์›Œ๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ๋“  ์Šคํ‚ค๋งˆ์—.. 2022. 4. 26.
[Oracle] IN, NOT IN ํŠน์ • ๋ฐ์ดํ„ฐ ํฌํ•จ/์ œ์™ธ ํ•˜๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค. :D ํŠน์ • ๋ฐ์ดํ„ฐ ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ํ˜น์€ ์ œ์™ธํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” IN, NOT IN ๋ฌธ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ํฌ์ŠคํŒ…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ˜Š โœจIN ๋ฌธ ์‚ฌ์šฉ๋ฒ• SELECT * FROM TABLE WHERE [์ปฌ๋Ÿผ๋ช…] IN ('A','B'); -- ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์ œ์™ธ ๊ฐ€๋Šฅ -- IN ๋ฌธ์„ ํ’€์ดํ•œ ์ฟผ๋ฆฌ๋ฌธ SELECT * FROM TABLE WHERE [์ปฌ๋Ÿผ๋ช…] = 'A' OR [์ปฌ๋Ÿผ๋ช…] = 'B' โœจNOT IN ๋ฌธ ์‚ฌ์šฉ๋ฒ• SELECT * FROM TABLE WHERE [์ปฌ๋Ÿผ๋ช…] NOT IN ('A','B'); -- ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์ œ์™ธ ๊ฐ€๋Šฅ -- NOT IN ๋ฌธ์„ ํ’€์ดํ•œ ์ฟผ๋ฆฌ๋ฌธ SELECT * FROM TABLE WHERE [์ปฌ๋Ÿผ๋ช…] 'A' AND [์ปฌ๋Ÿผ๋ช…] 'B' โœจSUBQUER.. 2022. 4. 15.
[Oracle] ORDER BY NULL ๊ฐ’ ์ •๋ ฌํ•˜๊ธฐ - NULLS FIRST, NULLS LAST ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค :D Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ NULL ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. NULLS FIRST : ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” NULL ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ์ดํ„ฐ ์•ž์— ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค. NULLS LAST : ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” NULL ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ์ดํ„ฐ ๋’ค์— ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค. ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Order BY [์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ปฌ๋Ÿผ๋ช…] [DESC/ASC] NULLS FIRST Default ๊ฐ’์œผ๋กœ NULL ์ด ๋จผ์ € ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. -- ์˜ˆ์‹œ SELECT substr(S.sno,1,1)sno1, substr(S.sno,2,2)sno2, substr(S.sno,4,2)sno3, S.sname, E.ekor, E.emath, E.eeng, E.ehist , (E.ekor+E.emath+E.eeng+E.. 2022. 4. 14.
728x90
๋ฐ˜์‘ํ˜•