μ‘°μνλμ μΉμ ν SQL νλμ μ½κ³ κ°μΈμ μΌλ‘ 곡λΆν λ΄μ©μ μ 리ν κΈμ λλ€.
Between κ³Ό In 쑰건μ μ μΈλ±μ€ μ€μΊ λ²μ λΉκ΅ν΄λ³΄κΈ°
μμ κ°μ΄, DEPTNO μ JOB μΌλ‘ μΈλ±μ€λ₯Ό ꡬμ±νλ€κ³ κ°μ ν΄λ³΄μ.
SELECT
*
FROM
TABLE
WHERE
DEPTNO BETWEEN 10 AND 30
AND
JOB = 'B'
μμ κ°μ μΏΌλ¦¬κ° μ€νλλ©΄ μ΄λ»κ² λ κΉ?
λ¨Όμ , DEPTNOκ° 10μ΄λ©΄μ JOBμ΄ 'B' μΈ λ μ½λμμ νμμ μμνμ¬
DEPTNO κ° 30μ΄λ©΄μ JOBμ΄ 'B'κ° μλκ² λλ λ μ½λ κΉμ§ νμν κ²μ΄λ€.
μμ§μ νμμ νλ² μ΄λ£¨μ΄μ§μ§λ§, μνμ νμμ΄ λ§μ λ μ½λλ₯Ό νμνκ²λλ€.
λ°λ©΄μ,
SELECT
*
FROM
TABLE
WHERE
DEPTNO IN (10,20,30)
AND
JOB = 'B'
β μμ κ°μ 쿼리λ₯Ό μμ±νλ©΄ μ΄λ»κ² λ κΉ?
π‘ IN 쑰건μ μ¬μ©νλ©΄ μ΅ν°λ§μ΄μ λ 쿼리λ₯Ό μ¬λ¬κ°λ‘ λΆλ¦¬ν λ€, UNION νμ¬ μ€νμν¨λ€κ³ νμλ€.
μλνλ©΄, OR λ‘ μ°κ²°λμ΄ μλ κ²½μ° μΈλ±μ€ μ€μΊ μμμ μ μ°Ύμ μ μμΌλ―λ‘ μΈλ±μ€ μ€μΊμ΄ λΆκ°λ₯νκΈ° λλ¬Έμ΄λ€.
λ°λΌμ,
SELECT * FROM TABLE WHERE DEPTNO = 10 AND JOB = 'B'
UNION ALL
SELECT * FROM TABLE WHERE DEPTNO = 20 AND JOB = 'B'
UNION ALL
SELECT * FROM TABLE WHERE DEPTNO = 30 AND JOB = 'B'
μμ κ°μ 쿼리λ₯Ό μ²λ¦¬νλ―μ΄, μ€νκ³νμ μΈμ΄λ€.
λ°λΌμ, μ€μΊ λ²μλ
μμ κ°μ΄ μ²λ¦¬νκ² λμ΄, μΈλ±μ€ μ€μΊ ν¨μ¨μ ν₯μμν¬ μ μκ²λλ€.
λ°λΌμ, μΈλͺ¨μλ λ μ½λλ₯Ό μ½λ λΉν¨μ¨μ νΌν μ μκ²λλ€.
β κ·Έλ λ€λ©΄, BETWEEN μ IN 쑰건μΌλ‘ λ°κΎΈλ©΄ νμ ν¨μ¨μ μΌκΉ?
π¨ κ·Έλ μ§ μλ€.
λ§μ½, IN μ λ€μ΄κ°λ νλΌλ―Έν°κ° λ무 λ§μμ§λ©΄, μμ§μ νμμ΄ λμ± λ§μμ§λ€.
λ°λΌμ, 쑰건μ λ§μ‘±νλ λ μ½λκ° μλ‘ λ§μ΄ λ¨μ΄μ Έ μλ κ²½μ°λ
μ€κ°μ νμμλ λ μ½λλ€μ μλ΅νκ³ μμ§μ νμμΌλ‘ μ΄λνλκ² ν¨μ¨μ μ΄μ§λ§
λ λ μ½λ κ° μ¬μ΄κ° κ°κΉλ€λ©΄, IN λ°©λ²μ΄ λ λΉν¨μ¨μ μΌ μ μλ€.
π‘ λ°λΌμ, λ°μ΄ν° λΆν¬λ μμ§μ νμ λΉμ©μ λ°μ Έλ³΄κ³ κ²°μ ν΄μΌνλ€.
βπ» in 쑰건μ μ μ¬μ©νλλ° μΈλ±μ€κ° μ¬λ¬κ°μ΄κ³ , μνλ μΈλ±μ€κΉμ§ μμΈμ€ 쑰건μΌλ‘ μ¬μ©νκ³ μΆμ κ²½μ° μΈλ±μ€ ννΈλ₯Ό μ¬μ©νλ©΄ λλ€.
num_index_keys ( table index num ) : numλ²μ§Έ μΈλ±μ€κΉμ§ μΈλ±μ€ μμΈμ€ 쑰건μΌλ‘ μ¬μ©νλ€.
κ·Έ μ΄ν, μΈλ±μ€λ νν° μ‘°κ±΄μΌλ‘ μ¬μ©λκ²λλ€.
π‘ μ¦, μΈλ±μ€ μμΈμ€ 쑰건μΌλ‘ μ¬μ©λλ μΈλ±μ€λ μμ§μ νμμ νλ€λ μλ―Έμ΄λ€.
λ°λΌμ, in 쑰건μ μ μ¬μ©ν λ,
in μ μ΄μ©λλ νλΌλ―Έν° λΉκ΅ λμμ΄ λ§κ±°λ μ λ μΈλ±μ€ κ° κ±°λ¦¬κ° ν¬μ§ μμ λμλ
νν° μ‘°κ±΄μΌλ‘ μν νμνλκ² ν¨μ¨μ μ΄λ―λ‘ μΈλ±μ€ μμΈμ€ 쑰건μ μ νμ λλ κ²μ΄ ν¨μ¨μ μΌ μ μλ€.