๐Ÿ“Œ Oracle DBMS ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ SQL ๋ฌธ๋ฒ• ์ •๋ฆฌ

My Pale Blue Dotยท2025๋…„ 3์›” 24์ผ
0

DBMS

๋ชฉ๋ก ๋ณด๊ธฐ
3/10
post-thumbnail

๐Ÿ“… ๋‚ ์งœ

2025-03-24

๐Ÿ“ ํ•™์Šต ๋‚ด์šฉ


1๏ธโƒฃ DBMS์™€ Oracle ๊ฐœ์š”

  • DBMS: ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅยท๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ (์˜ˆ: Oracle, MySQL ๋“ฑ)
  • RDBMS: ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”(ํ–‰/์—ด) ๊ตฌ์กฐ๋กœ ๊ด€๋ฆฌ
  • Oracle: ๋Œ€ํ‘œ์ ์ธ ์ƒ์šฉ RDBMS๋กœ, PL/SQL, ํŠธ๋žœ์žญ์…˜, ๋ณด์•ˆ ๊ธฐ๋Šฅ ๋“ฑ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ ์ œ๊ณต

2๏ธโƒฃ SQL ๋ฌธ๋ฒ• ๋ถ„๋ฅ˜

๋ถ„๋ฅ˜์„ค๋ช…์ฃผ์š” ํ‚ค์›Œ๋“œ
DML๋ฐ์ดํ„ฐ ์กฐ์ž‘SELECT, INSERT, UPDATE, DELETE
DDL๋ฐ์ดํ„ฐ ์ •์˜CREATE, ALTER, DROP
DCL๊ถŒํ•œ ์ œ์–ดGRANT, REVOKE
TCLํŠธ๋žœ์žญ์…˜ ์ œ์–ดCOMMIT, ROLLBACK, SAVEPOINT

3๏ธโƒฃ WHERE ์ ˆ ๋ฐ ์กฐ๊ฑด๋ฌธ ์‹ค์Šต

โœ… ๊ธฐ๋ณธ WHERE ์ ˆ

-- ์ด๋ฆ„์ด '๊น€๊ฒฝํ˜ธ'์ธ ์‚ฌ์šฉ์ž
SELECT *  
FROM usertbl  
WHERE name = '๊น€๊ฒฝํ˜ธ';

โœ… ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž (AND / OR)

-- ์ถœ์ƒ์—ฐ๋„ 1970 ์ด์ƒ AND ํ‚ค 182 ์ด์ƒ
SELECT *  
FROM usertbl  
WHERE birthyear >= 1970  
  AND height >= 182;

-- ์ถœ์ƒ์—ฐ๋„ 1970 ์ด์ƒ OR ํ‚ค 182 ์ด์ƒ
SELECT *  
FROM usertbl  
WHERE birthyear >= 1970  
  OR height >= 182;

โœ… ๋ฒ”์œ„ ๊ฒ€์ƒ‰ (BETWEEN)

-- ์ถœ์ƒ์—ฐ๋„๊ฐ€ 1970๋…„ ์ด์ƒ ~ 1980๋…„ ์ดํ•˜
SELECT *  
FROM usertbl  
WHERE birthyear BETWEEN 1970 AND 1980;

โœ… ๋‹ค์ค‘ ๊ฐ’ ๊ฒ€์ƒ‰ (IN)

-- ์ฃผ์†Œ๊ฐ€ ๊ฒฝ๋‚จ, ์ „๋‚จ, ๊ฒฝ๋ถ์ธ ์‚ฌ์šฉ์ž
SELECT *  
FROM usertbl  
WHERE addr IN ('๊ฒฝ๋‚จ', '์ „๋‚จ', '๊ฒฝ๋ถ');

-- ํœด๋Œ€ํฐ ์•ž์ž๋ฆฌ๊ฐ€ 010 ๋˜๋Š” 011
SELECT *  
FROM usertbl  
WHERE mobile1 IN ('010', '011');

โœ… ํŒจํ„ด ๊ฒ€์ƒ‰ (LIKE)

-- ์ด๋ฆ„์ด '๊น€'์œผ๋กœ ์‹œ์ž‘
SELECT name, height  
FROM usertbl  
WHERE name LIKE '๊น€%';

-- ๋‘ ๋ฒˆ์งธ ๊ธ€์ž๊ฐ€ '์žฌ'์ด๊ณ  ์„ธ ๊ธ€์ž์ธ ์ด๋ฆ„
SELECT name, height  
FROM usertbl  
WHERE name LIKE '_์žฌ๋ฒ”';

โœ… NULL ์ฒดํฌ

-- ํœด๋Œ€ํฐ ์•ž๋ฒˆํ˜ธ๊ฐ€ ์—†๋Š” ์‚ฌ์šฉ์ž
SELECT *  
FROM usertbl  
WHERE mobile1 IS NULL;

-- ํœด๋Œ€ํฐ ์•ž๋ฒˆํ˜ธ๊ฐ€ ์กด์žฌํ•˜๋Š” ์‚ฌ์šฉ์ž
SELECT *  
FROM usertbl  
WHERE mobile1 IS NOT NULL;

โœ… ์ค‘๋ณต ์ œ๊ฑฐ (DISTINCT)

-- ์ฃผ์†Œ(์ง€์—ญ) ์ค‘๋ณต ์ œ๊ฑฐ ํ›„ ์กฐํšŒ
SELECT DISTINCT addr  
FROM usertbl;

โœ… ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ & ๋ณ„์นญ (ALIAS)

-- ์ „ํ™”๋ฒˆํ˜ธ ์—ฐ๊ฒฐ (NULL ๊ณ ๋ ค)
SELECT name,  
       addr,  
       NVL(mobile1, '') || NVL(mobile2, '') AS phone  
FROM usertbl;

4๏ธโƒฃ BUYTBL ์‹ค์Šต ์˜ˆ์ œ

-- ์ „์ฒด ๊ตฌ๋งค ๋‚ด์—ญ ๋ณด๊ธฐ
SELECT *  
FROM buytbl;

-- ๊ตฌ๋งค ์ˆ˜๋Ÿ‰์ด 5 ์ด์ƒ
SELECT *  
FROM buytbl  
WHERE amount >= 5;

-- ๊ฐ€๊ฒฉ์ด 50~500 ์‚ฌ์ด
SELECT userID, prodName  
FROM buytbl  
WHERE price BETWEEN 50 AND 500;

-- ์ˆ˜๋Ÿ‰์ด 10 ์ด์ƒ์ด๊ฑฐ๋‚˜ ๊ฐ€๊ฒฉ์ด 100 ์ด์ƒ
SELECT *  
FROM buytbl  
WHERE amount >= 10  
   OR price >= 100;

-- userID๊ฐ€ 'K'๋กœ ์‹œ์ž‘ํ•˜๋Š” ์‚ฌ์šฉ์ž
SELECT *  
FROM buytbl  
WHERE userID LIKE 'K%';

-- ๊ทธ๋ฃน๋ช…์ด '์„œ์ ' ๋˜๋Š” '์ „์ž'
SELECT *  
FROM buytbl  
WHERE groupname IN ('์„œ์ ', '์ „์ž');

-- ์ƒํ’ˆ๋ช…์ด '์ฑ…'์ด๊ฑฐ๋‚˜, userID๊ฐ€ 'W'๋กœ ๋๋‚˜๋Š” ์‚ฌ์šฉ์ž
SELECT *  
FROM buytbl  
WHERE prodname = '์ฑ…'  
   OR userID LIKE '%W';

๐Ÿ”ฅ ์ •๋ฆฌ

  • Oracle์€ SQL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” RDBMS์ด๋‹ค.
  • WHERE ์กฐ๊ฑด์ ˆ์€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.
  • IN, BETWEEN, LIKE, IS NULL ๋“ฑ์„ ํ™œ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ์กฐ๊ฑด ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • DISTINCT, ALIAS, ||(๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž), NVL() ํ•จ์ˆ˜ ๋“ฑ์œผ๋กœ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ”— ์ฐธ๊ณ  ์ž๋ฃŒ


profile
Here, My Pale Blue.๐ŸŒ

0๊ฐœ์˜ ๋Œ“๊ธ€