WHERE절 : 검색할 컬럼의 조건을 설정하여 행을 결정
SELECT EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE = 'D6' AND SALARY > 2000000;
-- EPLOYEE 테이블에서 사원이름과 부서코드, 급여를 조회
단 부서코드가 D6이고 급여를 2000000보다 많이 받는 직원
연결 연산자 : ||
|| 을 사용하여 여러 컬럼을 하나의 컬럼인 것처럼 연결하거나 컬럼과 리터럴을 연결한다
예시 :
SELECT EMP_NAME || '의 월급은' || SALARY || '원 입니다'
FROM employee;
선동일의 월급은8000000원 입니다
논리 연산자 :
AND : 여러 조건이 동시에 TRUE일 경우에만 TRUE값을 반환한다
OR : 여러 조건들 중에 어느 하나의 조건만 TRUE이면 TRUE값을 반환한다
NOT : 조건에 대한 반대 값으로 반환 (NULL 제외)
비교 연산자 :
BETWEEN AND : WHERE 절
비교하려는 값이 지정한 범위에 포함되면 TRUE를 리턴하는 연산자로
상한 값과 하한 값의 경계도 포함된다
BETWEEN AND : 사용 예
SELECT EMP_NAME, SALARY
FROM employee
WHERE SALARY BETWEEN 3500000 AND 6000000;
LIKE
LIKE : 비교하려는 값이 지정한 특정 패턴을 만족하면 TRUE를 리턴하는 연산자로
%와 '_'를 와일드카드로 사용한다.
LIKE : 사용 예) :
SELECT EMP_NAME, SALARY
FROM employee
WHERE EMP_NAME LIKE '전%';
-- 전으로 시작되는 값을 조회
'%혼'; --> 혼으로 끝나는 값을 조회한다.
%임%; -- 키워들 검색
'_' : 1글자
비교대상컬럼명 LIKE '_문자' = > 비교대상컬럼의 값에서 문자 앞에 무조건 한글자가 올 경우 조회
비교대상컬럼명 LIKE '__문자' = > 비교대상컬럼의 값에서 문자 앞에 무조건 두글자가 올 경우 조회
SELECT EMP_NAME
FROM employee
WHERE EMP_NAME LIKE '_형_';
앞뒤로 문자가 있는 경우 조회
SELECT EMP_NAME, PHONE
FROM employee
WHERE PHONE LIKE '___7%';
-- ESCAPE
--> 와일드카드로 사용되는 문자와 컬럼에 담긴 문자가 동일하기 때문에 모두 와일드카드로 인식됨
--> 따라서, 구분을 해줘야 함! (=> ESCAPE를 사용하여 등록 후 적용
SELECT * FROM employee
WHERE EMP_NAME NOT LIKE '이%';
이가 아닌 경우를 조회
IS NULL / IS NOT NULL
컬럼값에 NULL이 있을 경우 NULL값을 비교할 때 사용하는 연산자
-- 관리자도 없고 부서 배치도 받지 않은 직원 조회
SELECT EMP_NAME, MANAGER_ID, DEPT_CODE
FROM employee
WHERE manager_id IS NULL AND NOT DEPT_CODE IS NULL;
IN : 비교연산자
비교하려는 값 목록에 일치하는 값이 있으면 TRUE를 반환하는 연산자
IN ) 예시 :
SELECT EMP_NAME, DEPT_CODE, SALARY
FROM employee
WHERE DEPT_CODE IN('D6','D8');
'ORACLE SQL' 카테고리의 다른 글
SQL 함수 모음_1 문자 관련 함수. (0) | 2024.07.20 |
---|---|
SQL 관련 문제 풀이 (0) | 2024.07.19 |
SQL 4일차 형변환 (0) | 2024.07.19 |
SQL 함수 정리 (FUNCTION) 3일차 (0) | 2024.07.19 |
SQL 2일차 (0) | 2024.07.17 |