Loading...

DB/Oracle / / 2022. 2. 4. 15:26

DB 13강. WHERE 문법

반응형

1. = 같다

-- 1. = 같다
SELECT *
FROM emp
WHERE empno = 7900;

 

2. <, >, <=, >=

-- 2. < > 크다, 작다
--    <= >= 크거나 같다, 작거나 같다
SELECT *
FROM emp
WHERE sal < 3000;

 

3. 문자열 검색

-- 3. 문자열 검색
SELECT *
FROM emp
WHERE ename = 'SMITH';

 

4. != 같지 않다

<> 같지 않다

-- 4. 부정 != 같지 않다. <> 같지 않다.
SELECT *
FROM emp
WHERE ename != 'SMITH';

 

5. OR, IN

 

~거나, ~중에 하나라도 맞으면의 조건을 사용할 때

OR을 사용한다.

 

보통 OR은 다른 칼럼을 비교할 때 사용하고

같은 칼럼을 비교할 때는 IN을 사용한다.

-- 5. OR(칼럼이 다를 때), IN(칼럼이 같을 때)
SELECT *
FROM emp
WHERE job = 'MANAGER' OR job = 'CLERK';

SELECT *
FROM emp
WHERE job in ('MANAGER', 'CLERK');

결과 동일

 

6. AND, BETWEEN

 

BETWEEN은 범위로 지정한 값까지 포함한다는 것에 유의하자.

-- 6. AND, BETWEEN(조건값 포함)
SELECT hiredate
FROM emp
WHERE hiredate >= '1981/02/20' AND hiredate <= '1982/02/22';

SELECT hiredate
FROM emp
WHERE hiredate BETWEEN '1981/02/20' AND '1982/02/22';

날짜(date)타입은

/ - 둘 다 사용하여 연, 월, 일 구분이 가능하다.

 

결과 테이블의 값에 년도가 81로 나온다고 해서

81로 검색하면 안된다.

 

실제로 저장된 값은 1981이기 때문에

정확하게 적어주어야 한다.

 

 

7. null 찾기

-- 7. NULL 찾는 법
SELECT *
FROM emp
WHERE comm is null;

SELECT *
FROM emp
WHERE comm is not null;

8. 연산된 데이터 찾기

-- 8. 연산된 데이터를 찾는 법
SELECT sal*12 연봉
FROM emp
WHERE sal*12 > 9000;

SELECT sal*12 연봉

FROM emp

WHERE sal > 9000;

 

하면 정확한 연산결과가 나오지 않는다.

 

실제 연산 순서가

FROM -> WHERE -> SELECT 이기 때문이다.

 

 

 

 

[출처]

https://cafe.naver.com/metacoding

 

메타코딩 : 네이버 카페

코린이들의 궁금증

cafe.naver.com


메타 코딩 유튜브
https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

 

메타코딩

문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist 유료강좌 : https://www.easyupclass.com

www.youtube.com

 
반응형