본문 바로가기

Study/OracleDB

7강 오라클 SQL 조건연산자

728x90

where 절 쿼리

 이 장에서 다룰 내용

1. WHERE 조건

2. 비교 연산자

 

01. WHERE 조건과 비교 연산자

■ 원하는 로우만 얻으려면 다음과 같이 로우를 제한하는 조건을 SELECT 문에 WHERE 절을 추가하여 제시해야 합니다.

형식 SELECT * [column1, column2, .., column^n]
FROM table_name
WHERE 조건절;

■ 조건절은 다음의 세부분으로 구성이 됩니다.

조건절의 구성 WHERE   SAL        >=          3000;
             ①컬럼 ②연산자 ③비교대상값

 

01-1. 연산자의 우선순위

우선순위 연산자
1 산술연산자 (*, /, +, -)
2 연결 연산자(||)
3 비교연산자(<, >, <=, =>, <>(!=), =)
4 IS NULL, LIKE, IN
5 BETWEEN
6 NOT 논리 연산자
7 AND 논리 연산자
8 OR 논리 연산자

■ 비교 연산자

비교연산자

select empno, ename, sal from emp where sal = 3000;
-- sal이 3000인 경우에만 검색하라.

select empno, ename, sal from emp where sal > 3000;

-- sal이 3000보다 큰 경우에 대해서 검색하라.

select empno, ename, sal from emp where sal < 3000;

-- sal이 3000보다 미만인 경우에 대해서 검색하라.

select empno, ename, sal from emp where sal >= 3000;

-- sal이 3000 이상인 경우에 대해서 검색하라.

select empno, ename, sal from emp where sal <= 3000;

-- sal이 3000 이하인 경우에 대해서 검색하라.

select empno, ename, sal from emp where sal <> 3000;

-- sal이 3000이 아닌것에 대해서 검색하라.

 

  연산자 우선순위 비교해보기

select empno, ename, sal from emp where sal < 3000 + 1;

3000이 1증가되고 sal과 비교, 연산자 우선순위가 산술연산자가 더 높음.

 

02. DOS 프롬프트로 나가게 하는 HOST

select * from emp where deptno=10;

emp의 모든 컬럼을 선택하고 deptno가 10인 데이터를 검색하시오.

 

* 탄탄히 다지기

탄탄히 다지기(1)

select empno, ename, sal from emp where sal <= 1500;

-- sal이 1500이하인 사원의 사원번호와 사원 이름을 출력하라.

03. 문자 데이터 조회

■ 이전 예제에서 비교 연산자를 하기 위해서 다루었던 컬럼들은 수치 형태로 선언되었습니다. 이번에는 급여가 아닌 사원 이름 같은 문자 데이터를 조회해 봅시다.

■ 다음은 이름이 FORD인 사원이 사원번호(EMPNO)과 사원이름(ENAME)과 급여(SAL)을 출력하는 예제입니다.

SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE ENAME = 'FORD';
-- 사원 이름이 FORD인 경우 출력.

■ SQL에서 문자열이나 날짜는 반드시 단일 따옴표(singlequotation)안에 표시해야 합니다.

■ SQL문에 사용되는 키워드인 SELECT나 FROM 이나 WHERE등은 대소문자를 구별하지 않지만 테이블 내에 저장된 데이터 값은 대소문자를 구분하기에 WHERE ENAME ='ford'와 같이 기술하면 사원이름이 FORD인 사원을 찾을 수 없습니다.

* 탄탄히 다지기

탄탄히 다지기(2)

select empno, ename, sal from emp where ename = 'SCOTT';

04. 날짜 데이터 조회

■ 1982년 1월 1일 이후에 입사한 사원을 조회하려면 어떻게 해야할까요? 날짜는 문자열과 마찬가지로 단일 따옴표 안에 기술해야 합니다.

■ 다음은 1982년 1월 1일 이후에 입사한 사원을 출력하는 예제입니다.

날짜 데이터 조회

select * from emp where hiredate <= '1982/01/01';

select * from emp where hiredate <= '1982-01-01';

select * from emp where hiredate <= '8211'; -- 이 경우엔 리터럴이 형식 문자열과 일치하지 않음.

-- hiredate가 1982년 1월 1일보다 작거나 같은 데이터만 출력하시오.

학습정리.

■ 원하는 로우만 얻으려면 다음과 같이 로우를 제한하는 조건을 SELECT 문에 WHERE 절을 추가하여 제시해야합니다.

형식 SELECT * [column1, column2, .., column^n]
FROM table_name
WHERE 조건절;

■ 조건절은 다음의 세부분으로 구성이 됩니다.

1. 컬럼명

2. 연산자

3. 값

 

■ 조건연산자 종류

조건연산자 종류

 

반응형