๐ป
Oracle DBMS ๋ฐ SQL - ์ค์น / SELECT๋ฌธ ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋ฐ์ด๋? ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ฒ ์ฒ๋ฆฌํด์ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒ์ ๋งํ๋ค.
๋ฐ์ดํฐ
- ์ ํ ๋ฐ์ดํฐ : ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์๋ ๊ฒ. ์) RDB, ์คํ๋ ๋์ํธ, CSV ๋ฑ
- ๋ฐ์ ํ ๋ฐ์ดํฐ : ํํ๊ฐ ์์ผ๋ฉฐ ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ ๋ฐ์ดํฐ. ์) XML, HTML, JSON, ๋ก๊ทธ ๋ฑ
- ๋น์ ํ ๋ฐ์ดํฐ : ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์์ง ์์ ๊ฒ. ์) ์์ ๋ฐ์ดํฐ(ํ์ด์ค๋ถ, ํธ์ํฐ), ์ด๋ฏธ์ง, ์์, ์ํฅ ๋ฑ
RDBMS(Relational Database Management System) : ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ ์์ ํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ์ํํธ์จ์ด.
- ์ ํํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๋ฐ์ด๋๋ค.
- Oracle, MSSQL, MYSQL ๋ฑ์ด ์๋ค.
SQL ๋ฌธ๋ฒ 3๊ฐ์ง
- ๋ฐ์ดํฐ ์ ์ ์ธ์ด(DDL=Data Definition Language) : ํ ์ด๋ธ ์์ฑ, ๋ณ๊ฒฝ, ์ญ์ , ์์ (CREATE, DROP, ALTER, TRUNCATE)
- ๋ฐ์ดํฐ ์กฐ์ ์ธ์ด(DML=Data Manipulation Language) : ๋ฐ์ดํฐ(๋ ์ฝ๋) ์ฝ์ , ์์ , ์ญ์ , ์ ํ (SELECT, INSERT, UPDATE, DELETE, COMMIT, ROLLBACK)
- ๋ฐ์ดํฐ ์ ์ด ์ธ์ด(DCL=Data Control Language) : ๋ฐ์ดํฐ์ ์ฌ์ฉ ๊ถํ ๋ฐ ์ทจ์ ์ ์ฌ์ฉ (GRANT, REVOKE)
<์ค์ต>
1. ์ค๋ผํด ์ค์น(Oracle Database 11g Release 2 XE)
https://www.oracle.com/database/technologies/xe-prior-releases.html
2. cmd ์ฐฝ์์
3. hr ๊ณ์ lock ํด์
> alter user hr acount unlock;
> alter user hr identified by 1234;(1234๋ ๋น๋ฐ๋ฒํธ. ์ํ๋๋๋ก ์ง์ )
> conn hr/1234;
4. SQL developer ์ค์น(Windows 64-bit with JDK 8 included ๋ค์ด๋ก๋)
https://www.oracle.com/tools/downloads/sqldev-downloads.html
์๋ก๋ง๋ค๊ธฐ๋ก 'hr' ์ ์ ์ค์ . ์ฌ์ฉ์์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ก ์ ์์์ ๊ณ์ ์ค์ .
๋๊ตฌ > ํ๊ฒฝ์ค์ > ์ฝ๋ ํธ์ง๊ธฐ > ๊ธ๊ผด ๋ณ๊ฒฝ ๊ฐ๋ฅ, ํ๋ฒํธ ์ถ๊ฐ, ์คํ ์ปค๋ฐ ์ค์
5. ํ ์ด๋ธ์ ํ๋์ ๋ ์ฝ๋๋ก ๊ตฌ์ฑ๋์ด์๋ค.
ํ = ROW = ๋ ์ฝ๋(Record)
์ด = COLUMN = ํ๋(Field)
๊ฐ์ฒด(Entitiy) : ๋ ์ฝ๋
์์ฑ(Attribute) : ํ๋
6. ํ ์ด๋ธ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ ์ถ์ ๋์๋ describe ํค์๋๋ฅผ ์ด์ฉํ์.
์ค๋ผํด์ ์๋ฃํ์ ํฌ๊ฒ ๋ฌธ์, ์ซ์, DATE ๊ฐ ์๋ค.
7. SELECT ๊ฒ์(์ ํ)๋ฌธ
--ํ์) select [์ปฌ๋ผ๋ช
๋๋ ํํ์]
-- from [ํ
์ด๋ธ๋ช
๋๋ ๋ทฐ๋ช
]
-- where ์กฐ๊ฑด์
-- group by [์ปฌ๋ผ๋ช
] having ์กฐ๊ฑด์
-- order by [์ปฌ๋ผ๋ช
]
--1. ๋จ์๊ฒ์ > select [์ปฌ๋ผ๋ช
๋๋ ํํ์] from [ํ
์ด๋ธ๋ช
๋๋ ๋ทฐ๋ช
]
--2. ๋ชจ๋ ํ๋(์ด) ์กฐํ > *
--3. ์ค๋ณต ํ ์ ๊ฑฐ > DISTINCT ํค์๋ ์ฌ์ฉ
--์ฐ์ฐ(์ฐ์ ์ฐ์ฐ) +, -, *, /
AS ํค์๋๋ฅผ ์ฌ์ฉํด์ ์ปฌ๋ผ๋ช ์ ์ค์ ํ ์ ์๋ค.
--5. NULL์ ๋ฏธํ์ ๋๋ ์ ์ ์๋ ๊ฐ์ ์๋ฏธํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐ์ฐ, ํ ๋น, ๋น๊ต๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.
NVL(์นผ๋ผ, ์นํํ ๊ฐ) : null ๊ฐ์ ์นํํ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ
--6. ๋ณ์นญ (Alias)
--๊ท์น : ๊ณต๋ฐฑ, ํน์๋ฌธ์, ์๋ฌธ์ ์ถ๋ ฅ์ "์๋ฐ์ดํ"
-- salary as ์ฐ๋ด : as ํค์๋๋ฅผ ์๋ตํ ์ ์๋ค.
--7. concatnation(ํฉ์ฑ๋ฌธ์, ์ฐ๊ฒฐ์ฐ์ฐ์)
โป ์ถ๊ฐ ์ ๋ฆฌ
- ์คํค๋ง(Schema) ๋ ํ ์ด๋ธ, ๋ทฐ, ์ธ๋ฑ์ค์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ํฌํจํ๋ ๋ ผ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ๋งํ๋ค.
(์์ ์์ ์์๋ hr ์คํค๋ง๋ฅผ ์ด์ฉํด์ ์ค์ตํ์๋ค.)
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋์ํํ ๊ฒ์ ERD๋ผ๊ณ ํ๋ค.
- ์งํฉ์ ์ธ์ด์ธ SQL์ ํ์ฅํ ์ ์ฐจ์ ์ธ์ด๊ฐ PL/SQL์ด๋ฉฐ, DB ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค๋ ๊ฒ์ PL/SQL์ ์ด์ฉํด ์ฝ๋๋ฅผ ์์ฑํ๋ค๋ ์๋ฏธ์ด๋ค.
'KITRI > ORACLE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Oracle DBMS ๋ฐ SQL - ์๋ธ์ฟผ๋ฆฌ(SUBQUERY) (0) | 2020.04.14 |
---|---|
Oracle DBMS ๋ฐ SQL - ์กฐ์ธ(JOIN) (0) | 2020.04.10 |
Oracle DBMS ๋ฐ SQL - ํจ์(๊ทธ๋ฃนํจ์) (0) | 2020.04.10 |
Oracle DBMS ๋ฐ SQL - ํจ์(์ซ์ํจ์, ๋ ์งํจ์, ๋ณํํจ์) (0) | 2020.04.08 |
Oracle DBMS ๋ฐ SQL - SELECT ๋ฌธ(WHERE์ , ๋น๊ต์ฐ์ฐ์) (0) | 2020.04.08 |