DQL (Data Query Language) : λ°μ΄ν° μ§μ μΈμ΄. λ°μ΄ν°λ₯Ό κ²μ(μΆμΆ)νκΈ° μν΄ μ¬μ©λλ μΈμ΄λ‘, SELECT ꡬ문μ μν΄ λ°νλ νλ€μ μ§ν©μ μλ―Ένλ€. (DMLμ μνλ€.)
SELECT * FROM USER_ROLE_PRIVS; -- λ΄ κΆν νμΈ
SELECT * FROM EMPLOYEE;
SELECT
λ¬Έμ μνλ λ°μ΄ν°λ₯Ό μ‘°ν
νλ 쿼리문μΌλ‘,
FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY μ μμλ‘ μ€νλλ€.
SELECTμ κ²°κ³Όλ¬Όμ ResultSet
μΌλ‘ λνλΈλ€.
π‘ DUAL
: ν μ΄λ‘ μ΄λ£¨μ΄μ§ νΉλ³ν κ°μ ν μ΄λΈ. κ²°κ³Όκ° μ‘°νν λ λ§μ΄ μ¬μ©νλ€.
SYSDATE, USER, μ°μ μ°μ°κ³Ό κ°μ μμ¬μ»¬λΌ μ ν μ μ¬μ©νλλ‘ ν΄μ€λ€.SELECT * FROM DUAL; -- VARCHAR2(1)λ‘ 'X'κ°μ΄ μ‘΄μ¬νλ€.
-- EMPLOYEE ν
μ΄λΈμμ μ΄λ¦ λμ΄ μ°μΌλ‘ λλλ μ¬μμ μ΄λ¦μ μΆλ ₯νμμ€
SELECT EMP_NAME "μ¬μμ μ΄λ¦" FROM EMPLOYEE WHERE EMP_NAME LIKE '%μ°';
-- EMPLOYEE ν
μ΄λΈμμ EMAIL ID μ€ @ μμλ¦¬κ° 5μλ¦¬μΈ μ§μμ μ‘°ννμμ€
SELECT EMP_NAME FROM EMPLOYEE WHERE EMAIL LIKE '_____@%';
LIKE
λ λΉκ΅νλ €λ κ°μ΄ μ§μ ν νΉμ ν¨ν΄μ λ§μ‘±
μν€λ©΄ TRUEλ₯Ό 리ν΄νλ μ°μ°μλ‘, β%βμ β_βλ₯Ό μμΌλμΉ΄λ
λ‘ μ¬μ©ν μ μλ€
π‘ μμΌλμΉ΄λ
- % : 0κ° μ΄μμ λͺ¨λ λ¬Έμλ₯Ό 맀μΉνλ€.
- _ : νλμ
μ리μ ν΄λΉ
νλ λͺ¨λ λ¬Έμλ₯Ό 맀μΉνλ€.
-- EMPLOYEE ν
μ΄λΈμμ EMAIL ID μ€ '_' μμλ¦¬κ° 3μλ¦¬μΈ μ§μμ μ‘°ννμμ€
SELECT EMP_NAME FROM EMPLOYEE WHERE EMAIL LIKE '___#_%' ESCAPE '#';
ESCAPE
λ μμΌλμΉ΄λλ₯Ό λ¬Έμλ‘ μΈμ
μμΌμ£ΌκΈ° μν΄ μ€μ νλ€.
#, $, \ λ±, μλ―Έμλ κΈ°νΈλΌλ©΄ μ무 κΈ°νΈλ μ§μ ν΄λ λλ©°,
μ¬μ©λ²μ λ¬Έμλ‘ μΈμμν€κ³ μΆμ μμΌλμΉ΄λ μμλ€κ° μ μ΄μ£Όκ³ , λ€μ ESCAPEλ‘ μ μΈ
ν΄μ£Όλ©΄ λλ€.
-- μ
μ¬μΌμ΄ 5λ
μ΄μ, 10λ
μ΄νμΈ μ§μμ μ΄λ¦κ³Ό μ
μ¬μΌμ κ²μνμμ€
SELECT EMP_NAME "μ΄λ¦", HIRE_DATE "μ
μ¬μΌ" FROM EMPLOYEE
WHERE ((SYSDATE - HIRE_DATE)/365) BETWEEN 5 AND 10;
BETWEEN AND
λ λΉκ΅νλ €λ κ°μ΄ μ§μ ν λ²μ(μν κ°κ³Ό νν κ°μ κ²½κ³λ ν¬ν¨λ¨)μ ν¬ν¨
λλ©΄ TRUE
λ₯Ό 리ν΄νλ μ°μ°μμ΄λ€.
-- μ΄λ¦, κ·Όμλ
μ(μμμ X)λ₯Ό κ·Όμλ
μκ° μ€λ¦μ°¨μμΌλ‘ μ λ ¬νμ¬ μΆλ ₯νμ¬λΌ
SELECT EMP_NAME "μ΄λ¦"
, FLOOR((SYSDATE-HIRE_DATE)/365) "κ·Όμλ
μ"
FROM EMPLOYEE
--ORDER BY (SYSDATE-HIRE_DATE)/365 ASC;
ORDER BY 3 ASC;
-- ORDER BYμ μΉΌλΌ μμλ₯Ό μ
λ ₯ν΄μ μ λ ¬ν μλ μμ
-- μ λ ¬
-- 1. 2. 3. ... 10 / γ±, γ΄, γ·, ... γ
(μ€λ¦μ°¨μ): ASC
-- 10. 9. 8. ... 2. 1. / γ
, γ
, γ
, .... γ±(λ΄λ¦Όμ°¨μ): DESC
ORDER BY
λ μ€λ¦μ°¨μ, λλ λ΄λ¦Όμ°¨μ μ λ ¬
μ μ§μ ν΄μ€λ€.
μΉΌλΌλͺ
μ μ§μ λͺ
μν μλ μμ§λ§, 1, 2, 3 κ³Ό κ°μ΄ μΉΌλΌ μμλ₯Ό μ§μ νμ¬ λͺ
μν μλ μλ€.
π‘ ORDER BY
- ASC : μ€λ¦μ°¨μ.
μλ΅μ΄ κ°λ₯
νλ€.- DESC : λ΄λ¦Όμ°¨μ. μλ΅μ΄ λΆκ°λ₯νλ€.