저번 포스팅에서는 dual 이라는 더미 테이블에 대해서 알아보았었죠. 이번에는 구차한 설명은 없이 간단히 여러 함수들에 대해서 알아보고자 합니다.

(출처: iStock https://bit.ly/3RI8iMx)
표 조회하는 법
우선 전에 설명 못 드린 Oracle 기본 사용법을 말씀드려야겠죠. 우선 나머지는 천천히 알아보기로 하고 데이터베이스 표에 대한 조회부터 해봅시다.
사실 간단합니다. 이 정도는 자바보다 쉽다라고도 할 수 있겠습니다.
SELECT (행 값) FROM (데이터베이스 표);
우리가 JAVA 에서 해왔듯 모든 코드는 세미콜론(;)으로 끝납니다. 그리고 Select 문을 통해 불러올 카테고리 및 행을 불러오게 되는 것이죠. FROM 문을 통해 이를 불러올 기준이 되는 데이터베이스 표를 불러와줍니다.
그리고 WHERE라는 조건문을 붙이면 특별한 값에 맞게 표를 조회해줍니다.
아래 예시를 보시면 "ostin"이라는 성을 가진 사람 한에서 데이터를 조회해주는 것을 볼 수 있습니다.
WHERE LAST_NAME = 'ostin';

그럼 본격적으로 함수들에게로 가볼까요?
조금 전에 WHERE 이라는 조건문을 배웠었죠? 이에 더하는 조건문을 추가해주는 함수들이 있습니다. 이는 우리가 자바에서 사용한 && 혹은 || 과 비슷합니다.
AND : WHERE에 조건문 더 추가

기본 Employees 표를 불러옵시다. 위와 같이 가져올 행과 표 설정을 해주고 'Smith' 라는 성을 가진 사원을 불러올 뿐만 아니라 이름이 'William'인 사람을 가져옵니다.

그럼 이렇게 William 이라는 이름을 가진 Smith 성씨를 가지고 있는 사원을 조회할 수 있습니다.
OR : WHERE에 조건문 추가 및 또는, 이라는 의미
Or는 또는, 이라는 뜻을 가지고 있죠. 이 역시 조건문을 추가해주긴 하지만, WHERE의 조건에 해당되지 않아도 이 문에 해당되면 데이터를 조회해줍니다.

좀 전과 같은 데이터베이스 표 입니다.
이번에는 부서 아이디가 50인 사원, 또는 OR 문을 통해 담당자 ID가 100인 사원들을 조회해봅시다.

그럼 이렇게 간추려진 것을 보실 수 있습니다. MANAGER_ID가 뜨지 않는 이유는 딱히 조회해주지 않았기 때문입니다.
IN : Or와 동일, IN( , )
Or 문과 똑같이 작용하는 IN 문이 있습니다. 이는 메소드처럼 괄호를 통해 조건을 설정하는데요.

이 문은 또는 이라고 작용하여 연봉이 6500, 혹은 7700, 또는 13000 연봉인 이들을 불러오게 합니다.

이전까지 쓰던 DEPARTMENT_ID의 경우, 이름이 너무 길죠? 이는 기능이라기 보다는 가독성을 위한 것에 가깝습니다만.. 짧게 별칭을 정해줄 수도 있습니다.
AS : 별칭 (alias)

우리가 FROM 문을 자동완성 시킬 때 'e'라는 문자가 같이 나타나죠?
이 역시 별칭에 해당합니다. 딱히 AS를 칭해주지 않고도 지정해줄 수 있습니다.
AS 칭하지 않아도 된다!
그럼 이런 식으로 별칭을 지정해주게 되면 아래와 같은 결과 값이 나타납니다.

ID와 SAL로 카테고리 명이 바뀐 걸 보실 수 있죠?
우리는 중복이 필요하지 않은 때가 있죠. 그냥 부서별로 정리해보고 싶거나 하면 이 키워드를 사용하면 됩니다.
DISTINCT : 중복 제거
이 문은 SELECT 뒤에 위치하게 됩니다.

업무 명을 중복 없이 불러와 보겠습니다.

그럼 이렇게 성공적으로 불러와집니다.
우리는 긍정만이 아닌 부정적으로도 조건을 설정해줄 수 있습니다.
이를 만드는 방식에는 3가지가 있는데요:
1. NOT()
2. <>
3. !=
3번의 != 이거는 많이 보셨을 겁니다. 특히 자바에서 말이죠. 보통 2, 3번을 개발자분들은 많이 쓰시는데요. 이 3가지의 경우를 모두 보여드리겠습니다.

WHERE의 조건문에 NOT()를 적용시킨 모습입니다.
DEPARTMENT_ID가 50이 아닌 경우를 조회해주는데요, 확인해보겠습니다.

결과 값이 잘 나오네요.
그럼 <>, !=도 시도를 해볼까요?




성공적이네요.
조건에는 일정적으로만 결정되는 것이 아니죠. 이에 대해서는 숫자값에 특히 범위가 필요한 법입니다. 이 범위는 다양하게 설정해줄 수 있는데요.
자바의 연산자가 생각나실 겁니다. 적용 방법은 자바와 같습니다.
>= 이상
<= 이하

Employees 표에서 연봉값을 불러오겠습니다.
이에 대한 범위로 4000 이상의 8000 이하 설정하고 결과 값을 보겠습니다.

4000 이상 받는 분들과 8000 이하로 받는 분들의 데이터가 나타납니다.
BETWEEN A AND B
이는 일일히 기호로 설정해주지 않고도 범위를 설정해줄 수 있는데요. 바로 BETWEEN 키워드를 이용하는 겁니다.

AND 이라는 조건을 더 붙여 한번에 문자열로 조건을 설정해주는 겁니다. 그리고 이것에 대한 결과 값은 위에 대한 예시와 같습니다.
이로서 Oracle 함수들에 대한 첫 번째 설명을 마칩니다. 다음 포스팅에서 이어나가겠습니다.