<LIKE>
비교하고자하는 컬럼값이 내가 제시한 특정 패턴에 만족할 경우 조회
[표현법]
비교한 대상 컬럼 LIKE '특정패턴' ; -> 일치하는 것만 조회
특정패턴을 제시할 때 와일드카드라는 특정 패턴이 정의 되어있다.
1. '%' : 포함문자 검색 (0글자 이상 전부 조회)
EX) 비교할 대상 컬럼 LIKE "문자%" : 비교할 대상컬럼 값 중에서 해당 문자로 시작하는 값을 전부 조회
비교할 대상 컬럼 LIKE "%문자" : 비교할 대상컬럼 값 중에서 해당 문자로 끝나는 값을 전부 조회
비교할 대상 컬럼 LIKE "%문자%" : 비교할 대상컬럼 값 중에서 해당 문자가 포함된 값을 전부 조회
2. '_' : 1글자를 대체 검색할 때 사용
EX) 비교할 대상 컬럼 LIKE '_문자" : 비교할 대상 컬럼 값 문자 앞에 아무 글자나 딱 한 글자 있는 값을 조회
비교할 대상 컬럼 LIKE "문자_" : 비교할 대상 컬럼 값 문자 앞에 아무 글자나 딱 한 글자 있는 값을 조회
비교할 대상 컬럼 LIKE "_문자_" : 비교할 대상 컬럼 값 문자 앞,뒤에 아무 글자나 딱 한 글자 있는 값을 조회
비교할 대상 컬럼 LIKE '_문자___" >> 내가 원하는 형태로 _를 통해서 조회를 조절할 수 있다.
예시
SELECT EMP_NAME, SALARY
FROM EMPLOYEE
WHERE EMP_NAME LIKE '전%';

SELECT EMP_NAME, SALARY
FROM EMPLOYEE
WHERE EMP_NAME LIKE '%연';

SELECT EMP_NAME, SALARY
FROM EMPLOYEE
WHERE EMP_NAME LIKE '%하%';

SELECT EMP_NAME, SALARY
FROM EMPLOYEE
WHERE EMP_NAME LIKE '_전';

SELECT EMP_NAME, SALARY
FROM EMPLOYEE
WHERE EMP_NAME LIKE '_하_';

--실습 문제
사원들 중에서 전화번호가 3번째 자리가 1인 사원들의 사번, 사원명, 전화번호 조회
SELECT EMP_ID, EMP_NAME, PHONE
FROM EMPLOYEE
WHERE PHONE LIKE '__1%';

-- 이메일 중 _앞의 글자가 3글자인 사원들의 사번, 이름, 이메일 조회
SELECT EMP_ID, EMP_NAME, EMAIL
FROM EMPLOYEE
--WHERE EMAIL LIKE '____%'; // 와일드카드로 인식되기 때문에 정상적으로 출력할 수 없다.
--와일드카드를 직접 문자로 사용할 때는 일반 문자로 구분을 해줘야한다.
-- ESCAPE OPTION을 등록해서 나만의 탈출문자를 사용할 수 있음.
WHERE EMAIL LIKE '___/_%' ESCAPE '/';

<IN>
WHERE절에 비교대상 컬럼 값을 가지고 내가 제시한 목록 중에 일치하는지 검사하는 문법
[표현법]
비교대상 컬럼 IN (값, 값, 값, 값...)
부서코드가 D6 이거나 D8 이거나 D5인 부서원들의 이름, 부서코드, 급여
SELECT EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
--WHERE DEPT_CODE = 'D6' OR DEPT_CODE = 'D8' OR DEPT_CODE = 'D5';
WHERE DEPT_CODE IN ('D6', 'D8', 'D5');

<연산자 우선순위>
1. 산술연산자
2. 연결연산자
3. 비교연산자
4. IS NULL / LIKE / IN
5. BETWEEN A AND B
6. NOT
7. AND
8. OR
===> 에러가 날 것 같은 연산자에는 괄호()를 잘 쳐두어 조건 구분을 잘 해두는 것이 좋다
'SQL' 카테고리의 다른 글
| ORACLE SQL_06) GROUP BY, HAVING (3) | 2025.07.30 |
|---|---|
| ORACLE SQL_05) 숫자 처리 함수, 날짜 처리 함수, NULL 처리 함수, 선택 함수, 그룹 함수 (3) | 2025.07.30 |
| ORACLE SQL 04) 함수 , 문자 처리 함수 (5) | 2025.07.29 |
| ORACLE SQL 02) 연산자, WHERE (0) | 2025.07.28 |
| ORACLE SQL 01) 시작 및 생성, SELECT 조회 (0) | 2025.07.25 |