반응형

연산자 

우선순위 연산자 : ( )  
산술연산자 : + (덧셈), -(뺄셈), *(곱셈), /(나눗셈몫)  
비교연산자 : >, >=, <, <=, =, <>, !=, ^=  
논리연산자 :

AND(모든 조건이 참인 경우만 참,나머지는 거짓)

DEPTNO >= 20 AND DEPTNO <= 30
DEPTNO BETWEEN 20 AND 30
OR(모든 조건이 거짓인 경우만 거짓,나머지는 참) --업무가 '사무직' 이거나 '경리' 인
WHERE JOB = '사무직' OR JOB = '경리';
NOT  
컬럼명 BETWEEN 값1 AND 값2 BETWEEN 값1 AND 값2

BETWEEN '2021/01/01' AND '2021/12/31' AND AGE BETWEEN 20 AND 29 ;
IN (값1, 값2, 값3) - 많은 데이터 중 일부만  컬럼명 IN (값1, 값2, 값3)
LIKE : 문자열 일부 포함여부

컬럼의 문자열 앞에는 어떠한 문자가 올 수 있지만 마지막에 문자열이 입력한 값으로 끝나는 문자를 가져오세요.
ex) ENAMA LIKE '%N' ->이름이 N으로 끝나는 정보를 가져옴
컬럼명 LIKE '문자열값'
컬럼명 LIKE '%값'

ex)
ENAME LIKE '%N' ->이름이 N으로 끝나는 정보를 가져옴
ENAME LIKE '%N%' ->이름 안에 N이 포함되는 정보
ENAME LIKE 'N%' ->이름이 N으로 시작하는 정보를 가져옴
ENAME LIKE '_N%' ->앞 첫 글자는 아무 문자 단 한 개는 와야하고, 두번 째 문자는 반드시 'N'이 와야한다.
'%N__' 

와일드카드
% : 무슨 문자열이든, 공란, 갯수 상관이 없다. 
_ : 건너띄는 칸 수, 어떠한 문자가 오든 한 개.
IS NULL : NULL값에 해당되는 값이 있는지 확인
**NULL IN ORACLE : 어떤 값이 있는지 모른다, 비어있는 값, 빈 문자열
IS NOT NULL
컬럼명 IS NULL

 

--[NOT] <>
SELECT * FROM EMP WHERE DEPTNO <> 20;
SELECT * FROM EMP WHERE NOT DEPTNO = 20;

 

--[IN]
SELECT * FROM EMP WHERE EMPNO IN(7782 , 7566 , 7844);

 

--[IN]
SELECT * FROM EMP WHERE JOB IN('CLERK', 'MANAGER');
--[NOT IN]
SELECT * FROM EMP WHERE JOB NOT IN('CLERK', 'MANAGER');

 

--[LIKE]

--사원정보에서 이름이 J로 시작하는 사원의 사번, 이름을 가져오세요.
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE 'J%'; 

--두 번째 글자: L, 네번째글자 : R 을 가진사람
SELECT * FROM EMP WHERE ENAME LIKE '_L_R%';

--이름이 네 글자인 사람 중 D로 끝나는 사원만 가져오세요.
SELECT * FROM EMP WHERE ENAME LIKE '___D';

--이름에 A가 포함되지 않은 사원의 사번, 이름을 가져오세요.
SELECT EMPNO, ENAME FROM EMP WHERE ENAME NOT LIKE '%A%';
SELECT EMPNO, ENAME FROM EMP WHERE NOT ENAME LIKE '%A%';

--연봉이 3000이상이고 직책이 P로 시작하는 사원의 정보를 가져오세요.
SELECT * FROM EMP WHERE SAL >= 3000 AND JOB LIKE 'P%';

--커미션이 NULL값이 아니면서 이름이 R로 끝나는 사원의 정보를 가져오세요.
SELECT * FROM EMP WHERE COMM IS NOT NULL AND ENAME LIKE '%R';

--이름에 A라는 문자가 들어가면서 직책이 세일즈맨인 사원의 이름, 직책을 가져오세요.
SELECT ENAME, JOB FROM EMP WHERE ENAME LIKE '%A%' AND JOB = 'SALESMAN';

--연봉이 2000이상이면서 직책이 M으로 시작하는 사원의 이름, 직책, 연봉을 가져오는데 연봉 내림차순으로 정렬하세요.
SELECT ENAME, JOB, SAL FROM EMP WHERE SAL>=2000 AND JOB LIKE 'M%' ORDER BY SAL DESC;

 

-- [NULL]
SELECT * FROM EMP WHERE MGR = NULL; --키워드 NULL
SELECT * FROM EMP WHERE MGR IS NULL;
SELECT * FROM EMP WHERE MGR IS NOT NULL;

SELECT * FROM EMP WHERE DEPTNO <> 20;
SELECT * FROM EMP WHERE NOT DEPTNO = 20;

 

DATE자료형(날짜형)

반응형

+ Recent posts