DBMS 관계 연산자 (feat. WHERE 명령문)

1. 연산자 (Operator)

- 예시) 데이터를 조회할 때 SALARY에서 1,000원씩 빼서 조회하겠다 할 때 사용

 

  연산자 종류 :       1. 연결 연산자        2. 산술 연산자      3. 관계 연산자      4. SQL 연산자      5. 논리 연산자

 

 

2. 관계 연산자 (비교 연산자)
- [  >  ] [  >=  ] [  <  ] [  <=  ]
- [  =  ]   주의 : [  ==  ] (X)  [  =  ] (O)
- [  <>   !=  ]  SQL 에서는   <>  ] 이게 더 자주 쓰임

SELECT
	컬럼명
FROM
	테이블명
WHERE
	조건식
ORDER BY
	칼럼명 정렬방식;

 

 

3. WHERE 명령문

- 해당 테이블에서 특정 조건에 부합하는 데이터만 조회하고 싶을 때 사용하는 것

- 조건으로 행을 조회하거나 연산처리할 때 사용하는 쿼리문

- 별칭은 ORDER BY에만 사용 가능하므로 WHERE문에는 사용하면 오류가 발생한다. 

 

4. 쿼리문 읽는 순서

1.  테이블 찾기 (FROM)
2. 조건을 먼저 탐색 (WHERE)
3. 조회 (SELECT)
4. 정렬 (ORDER BY)

 

 

5. 전체 쿼리문

-----------------------------------------------------------------
-- 관계 연산자
-----------------------------------------------------------------
-- 별칭은 ORDER BY에만 사용 가능하므로 
-- WHERE 봉급 >= 10000 이라고 하면 에러 발생
SELECT
	FIRST_NAME,
	LAST_NAME,
	SALARY 봉급
FROM 
	EMPLOYEES
WHERE
	SALARY >= 10000
ORDER BY
	SALARY;


-- WHERE절로 날짜 값 비교
-- 날짜값을 표현할 때는 ''(작은따음표)에 YYYY-MM-DD로 표시해야한다.
SELECT
	FIRST_NAME,
	HIRE_DATE 
FROM 
	EMPLOYEES
WHERE
	HIRE_DATE > '2004-01-01'
ORDER BY
	HIRE_DATE;
	

-- 문자값 비교
-- 'John': 테이블에 문자열로 저장되어있는 데이터 값이기 때문에 대소문자 주의 해야함!
SELECT *
FROM EMPLOYEES
WHERE FIRST_NAME = 'John'; 


-----------------------------------------------------------------
-- [실습]
-----------------------------------------------------------------
-- 1. 입사일이 2005년 9월 21일인 직원의 이름, 성, 입사일을 조회
SELECT
	FIRST_NAME,
	LAST_NAME,
	HIRE_DATE
FROM
	EMPLOYEES
WHERE
	HIRE_DATE = '2005-09-21';

-- 2. 이름이 David인 직원의 이름, 성을 조회한다. 
SELECT
	FIRST_NAME,
	LAST_NAME,
	HIRE_DATE
FROM
	EMPLOYEES
WHERE
	FIRST_NAME  = 'David';

-- 3. 상사번호가 100인 직원들의 이름,성,이메일,전화번호,상사번호를 별칭을 붙혀 조회한다.
SELECT
	FIRST_NAME 이름,
	LAST_NAME 성,
	EMAIL 이메일,
	PHONE_NUMBER 전화번호,
	MANAGER_ID 상사번호
FROM
	EMPLOYEES
WHERE
	MANAGER_ID = 100;

'DBMS > Oracle DBMS SQL' 카테고리의 다른 글

DBMS 논리 연산자 AND OR NOT  (0) 2024.02.23
DBMS SQL 연산자 BETWEEN, IN, ANY, ALL 등등  (0) 2024.02.23
DBMS 산술 연산자  (0) 2024.02.23
DBMS 연결 연산자  (0) 2024.02.23
무결성  (0) 2024.02.23