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
XE Prior Release Archive
Support Oracle Database Express Edition (XE) is a community supported edition of the Oracle Database family. Please go to the Oracle Database XE Community Support Forum for help, feedback, and enhancement requests. Note: Oracle Support Services only provid
www.oracle.com
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
Oracle SQL Developer Downloads
This archive. will work on a 32 or 64 bit Windows OS. The bit level of the JDK you install will determine if it runs as a 32 or 64 bit application. This download does not include the required Oracle Java JDK. You will need to install it if it's not already
www.oracle.com
μλ‘λ§λ€κΈ°λ‘ '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μ μ΄μ©ν΄ μ½λλ₯Ό μμ±νλ€λ μλ―Έμ΄λ€.