μ‘°μνλμ μΉμ ν SQL νλμ μ½κ³ κ°μΈμ μΌλ‘ 곡λΆν λ΄μ©μ μ 리ν κΈμ λλ€.
Between κ³Ό Likeμ μ€μΊ λ²μ μ°¨μ΄
Between κ³Ό Like λ λ²μ κ²μμ ν λ νμ©λ μ μλλ°, μΈλ» λΉμ·ν΄λ³΄μ΄μ§λ§ ν¨μ¨μ μΈ μΈ‘λ©΄μμ μ΄ν΄λ³΄λ©΄ λ€λ₯΄κ² λμνλ€.
μλ₯Ό λ€μ΄, νμ ν μ΄λΈμ μλ μ μΉΌλΌκ³Ό νμ μΉΌλΌμ΄ μκ³ [μλ μ + νμ ] μ΄ μΈλ±μ€λΌκ³ κ°μ ν΄λ³΄μ.
1995λ μμ΄λ©΄μ νμ μ΄ 'B'μΈ λ μ½λλ€μ κ²μνκΈ° μν΄μλ
1οΈβ£ Between μ κ²½μ°
SELECT
*
FROM
νμ
WHERE
μλ
μ BETWEEN "199501" AND "199512"
AND
νμ = 'B';
2οΈβ£ Like μ κ²½μ°
SELECT
*
FROM
νμ
WHERE
μλ
μ LIKE "1995%"
AND
νμ = 'B';
μ κ°μ΄ SQLμ μμ±ν μ μλ€.
Betweenμ κ²½μ° μλ μμ΄ '199501'μ΄λ©΄μ νμ μ΄ 'B'μΈ λ μ½λλ₯Ό λ¨Όμ μμ§μ νμμΌλ‘ μ€μΊ μμμ μ μ°Ύκ³
'199512' μ΄λ©΄μ νμ μ΄ 'B'κ° μλ λ μ½λλ₯Ό λ§λλ©΄ νμμ μ’ λ£ν κ²μ΄λ€.
νμ§λ§, LIKEμ κ²½μ° μ€μΊ μμμ μ μλ μμ΄ '1995' λ‘ μμνλ λ μ½λλ₯Ό μ°ΎμΌλ©΄ κ±°κΈ°μ λΆν° νμμ μμνλ€.
λν, μ’ λ£ μ§μ λ '199512' μ΄λ©΄μ νμ μ΄ 'C'μΈ λ μ½λλ₯Ό λ§λλ©΄ λ©μΆλ κ²μ΄ μλλΌ, '199512'μ ν΄λΉνλ λͺ¨λ λ μ½λλ₯Ό νμνκ³ λλλ€.
κ·Έ μ΄μ λ, μ€μ λ‘λ 13μμ μ‘΄μ¬νμ§ μμ§λ§ LIKEλ₯Ό μ¬μ©νλ μμ μμ λ°μ΄ν°λ² μ΄μ€λ κ·Έλ¬ν μ 보λ μ μ μκΈ° λλ¬Έμ '199513' μ΄λ '199514' μ κ°μ΄ κ·Έ λ€μ μ‘΄μ¬ν μ μλ λ μ½λλ€ μ΄ μμ μ μκΈ° λλ¬Έμ μ€κ°μ λ©μΆμ μλ κ²μ΄λ€.
μ½κ² μ€λͺ νλ©΄, μ ν μΉΌλΌμ΄ λ²μ 쑰건μΌλ‘ μ¬μ©λμμΌλ―λ‘ νμ μΉΌλΌμ νν° μ‘°κ±΄μΌλ‘ μ¬μ©λμ΄ λͺ¨λ λ μ½λλ₯Ό μΌμΌμ΄ νμΈν΄λ΄μΌνλ€λ κ²μ΄λ€.
π‘ λ°λΌμ, LIKEμ κ²½μ° SQLμ μμ±ν λ κ°νΈνμ§λ§, BETWEENμΌλ‘ νμ λ²μλ₯Ό λͺ ννκ² μ€μ ν΄μ£Όλ©΄ μ€μΊ ν¨μ¨μ λμΌ μ μλ€.
Likeμ λ¨μ©
Likeλ₯Ό μ¬μ©νλ κ²½μ° λ°μΈλ 쑰건μ μ무κ²λ λ£μ§ μμΌλ©΄ μ‘°κ±΄μ΄ μλ΅λλ―λ‘, μ΄λ₯Ό μ΄μ©ν΄ μ¬λ¬κ°μ 쿼리λ₯Ό ν©μΉλ κ²½μ°κ° μλ€.
μλ₯Ό λ€μ΄,
SELECT
*
FROM
κ°μ
μν
WHERE
νμ¬μ½λ = :com
AND
μ§μμ½λ = :reg
AND
μνλͺ
LIKE :prod || '%';
νμ¬ μ½λμ μ§μμ½λλ₯Ό μ λ ₯νκ³ , μνλͺ μ μ λ ₯νκ±°λ μ λ ₯νμ§ μλ 쑰건μΌλ‘ μ‘°νλ₯Ό νλ 쿼리μ
SELECT
*
FROM
κ°μ
μν
WHERE
νμ¬μ½λ = :com
AND
μνλͺ
LIKE :prod || '%';
νμ¬ μ½λλ₯Ό μ λ ₯νκ³ μνλͺ μ μ λ ₯νκ±°λ μ λ ₯νμ§ μλ 쑰건μΌλ‘ μ‘°ννλ μΏΌλ¦¬κ° μλ€κ³ νμ λ,
λ 쿼리λ₯Ό νλμ μΏΌλ¦¬λ‘ ν©μΉκΈ° μν΄μ
SELECT
*
FROM
κ°μ
μν
WHERE
νμ¬μ½λ = :com
AND
μ§μμ½λ LIKE :prod || '%'
AND
μνλͺ
LIKE :prod || '%';
μμ κ°μ΄ LIKEλ₯Ό μ΄μ©ν΄μ μ§μμ½λλ₯Ό μ λ ₯νκ±°λ μ λ ₯νμ§ μλ 쿼리 νλλ‘ ν©μ³€μλμ λ¬Έμ μ μ μ΄ν΄λ³΄μ.
쑰건μΌλ‘ 'νμ¬μ½λ' , 'μ§μμ½λ', 'μνλͺ ' μ 'C70', '02','보κΈν' μΌλ‘ κ²μνλ€κ³ κ°μ νμ λ,
ν©μΉκΈ° μ΄μ 쿼리λ μνλͺ μΉΌλΌκΉμ§ μμ§μ νμμ ν μ μμ§λ§
ν©μ³μ§ 쿼리λ 첫λ²μ§Έ λ²μ μ‘°κ±΄μΈ μ§μμ½λκΉμ§ μμ§μ νμμ ν μ μκ³ μνλͺ λΆν°λ νν° μ‘°κ±΄μ΄ λλ―λ‘,
μνμ νμμ νκ²λμ΄ λ λ§μ λ μ½λλ₯Ό νμνκ² λλ€.
π‘ ν©μ³μ§κΈ° μ΄μ 쿼리λ 'C70' '02' '보κΈν' μΈ λ μ½λμμ μΈλ±μ€ μ€μΊμ μμνμ¬ 'C70' '02' 'μΌλ°ν' κ³Ό κ°μ΄ μνλͺ μ΄ '보κΈν'μ΄ μλ λ μ½λμμ μ€μΊμ λ©μΆλ€.
π¨ ν©μ³μ§ 쿼리λ, 'C70' '02' μΈ μ²«λ²μ§Έ λ μ½λμμ μμνμ¬ 'C70' '03' λ μ½λμμ μ€μΊμ λ©μΆλ―λ‘ λ λ§μ λ μ½λλ₯Ό νμν μ λ°μ μμ΄μ§λ€.
β λ°λΌμ, 쿼리μ κ°μκ° μ€μ΄λλ κ²μΌλ‘ μ΅μ ννλ€κ³ μκ°νλ©΄ μλλ€.
Like / Between μ¬μ©νκΈ° μ μ£Όμμ¬ν
μΈλ±μ€ μ λ 컬λΌμ μ¬μ©νμ§ μλ κ²μ΄ μ’λ€.
λ§μ½, μΈλ±μ€λ₯Ό [κ³ κ° ID + κ±°λμΌμ ] λ‘ κ΅¬μ±ν μν©μμ
SELECT
*
FROM
κ±°λ
WHERE
κ³ κ°ID LIKE :cust_id || '%'
AND
κ±°λμΌμ BETWEEN :dt1 and dt2
μμ κ°μ΄ μ λ 컬λΌμ λ²μ 쑰건μ κ±Έκ²λμμλλ₯Ό μ΄ν΄λ³΄μ.
κ³ κ°IDλ₯Ό μ λ ₯νμ§ μμμ λ, μΈλ±μ€ ν μ΄λΈμ μ‘΄μ¬νλ λͺ¨λ κ±°λμΌμλ₯Ό μμΈμ€ μ‘°κ±΄μ΄ μλ νν°μ‘°κ±΄μΌλ‘μ
λͺ¨λ λ μ½λλ₯Ό λ°©λ¬ΈνκΈ° μν λλ€ I/Oκ° λ°μνλ€.
NULL νμ© μΉΌλΌμ μ¬μ©νμ§ μλ κ²μ΄ μ’λ€
λ§μ½ μμμ μ΄ν΄λ³Έ 쿼리μμ, κ³ κ°ID κ° NULLμ΄ νμ©λμ΄ NULLλ‘ μ±μμ§ λ μ½λκ° μ¬λ¬κ° μλ€κ³ κ°μ νμλ,
κ·Έ λ°μ΄ν°λ μμ κ°μ μΏΌλ¦¬λ‘ μ λ μ‘°νν μ μκ² λλ€.
μ«μνμ΄λ©΄μ μΈλ±μ€ μμΈμ€ 쑰건μΌλ‘ μ¬μ©νλ 컬λΌμ LIKEλ₯Ό μ¬μ©νλ©΄ μλλ€.
μ«μν μΈλ±μ€ 컬λΌμ LIKEλ₯Ό μ¬μ©νκ²λλ©΄, μΈλ±μ€ 컬λΌμ to_char() ν¨μλ‘ λ¬ΈμνμΌλ‘ λ³νμν€κΈ° λλ¬Έμ
μΈλ±μ€ μΉΌλΌμ΄ κ°κ³΅λμ΄ μΈλ±μ€ μμΈμ€ 쑰건μΌλ‘ μ¬μ©λ μ μμ΄μ§λ€.
κΈΈμ΄κ° κ³ μ μ΄ μλλ μ£Όμν΄μΌνλ€.
WHERE
κ³ κ°λͺ
LIKE :cust_nm || '%'
μμ κ°μ 쑰건μ μΌλ,
κ³ κ°λͺ μ΄ 'κΉμ² ' 'κΉμ² μ' κ° μλ€κ³ ν λ,
LIKE 쑰건μ 'κΉμ² 'μΈ κ³ κ°μ λ°μ΄ν°λ₯Ό μ°ΎμΌλ €κ³ , λ°μΈλ 쑰건μ 'κΉμ² 'μ μ λ ₯νλ©΄ 'κΉμ² μ' λ°μ΄ν°κΉμ§ κ°μ΄ μ‘°νλ μ μλ€.
'%' λΆλΆμ μ κ±°νλ λ°©λ²μΌλ‘ ν΄κ²°ν μλ μμ§λ§, κ³ κ°λͺ μ μ λ ₯νμ§ μμμ λ μλ¬΄λ° λ°μ΄ν°κ° μ‘°νλμ§ μμ μ μλ€.