Day02-3. Oracle 함수 -2

이하연·2023년 2월 9일

DBMS 교육

목록 보기
8/22


(출처: DEV Communityhttps://bit.ly/3jN2XqM)

Oracle 함수 제 2탄입니다. 전과 똑같은 주제이니 딱히 이번에는 대표 이미지를 올리지 말까 싶었습니다만 눈에 띄지 않으니까요.

그럼, 이어가도록 하겠습니다.

6. LIKE

LIKE의 기본 뜻은, ~와 같다죠. 데이터베이스를 좋아하게 되는 이유는 영작문을 할 때와 비슷하다고 책에서 본 적이 있습니다. 물론 영작문도 처음 기본을 할 때나 쉽지만요.

이는 DB에서도 똑같이 작용합니다.

LIKE : ~와 같은 의 조건문

어느 문자로 끝나는 이름을 가진 사람을 조회한다고 해봅시다.

어느 한 시점에 끝나는 문자를 조건으로 달아줄 때는 이와 같은 키워드 지정이 필요합니다.

% : 이 시점부터(까지) 조건 무시

그럼 %d를 해주면 앞의 문자들은 다 무시하고 마지막 글자가 d로 끝나는 이름만 아래와 같이 불러와주게 됩니다.

앞에서 시작하는 것도 동일합니다.

이번에는 세번째 글자가 'a'인 사람만 불러오겠습니다. 이렇게 맨 앞과 뒤가 아닐 때에는 (_)로 위치를 지정해주어야 합니다. 많을수록 뒤의 글자에 속합니다.

7. IS NULL / IS NOT NULL

데이터베이스의 빈 값은 null 값으로 표시됩니다. 이 점도 자바와 비슷하죠.

그럼 우리는 이 NULL에 해당하는 값을 가진 데이터를 불러올 때에 이와 같은 함수를 사용합니다.

IS NULL = 눌값을 가졌다
IS NOT NULL = 눌값을 가지고 있지 않다.

먼저, IS NULL의 예시를 보겠습니다.


프리랜서들은 커미션 수수료가 떼어지죠. 그에 따라 데이터가 NULL로 되어있는 사원들을 조회해보겠습니다.


결과 값이 잘 나오네요.

그럼, 이제 IS NOT NULL의 차례입니다.


커미션을 받는 사원들을 조회해봅시다.

0.4니 꽤 높게 떼어가네요. 아무튼, 성공적으로 값이 나왔습니다.

8. 정렬

번잡스러운 데이터는 우리나, 누구나 보기 힘들죠. 이를 정리해주기 위해 있는 함수들 또한 존재합니다. 우리가 흔히 보는 정리법 중 하나입니다.

오름차순, 그리고 내림차순이 말이죠.

이는 ORDER BY 라는 함수와 같이 적용됩니다.

ORDER BY(카테고리명) (정렬함수)

정렬 함수는 아래와 같이 있습니다.

ASC : 오름차순 정렬
DESC : 내림차순 정렬

오름차순 먼저 보여드리겠습니다.


성명, 그리고 커미션료를 조회하고, 커미션료를 받는 사람들 한으로만 데이터를 지정한 모습입니다.

보기 쉽게 오름차순으로 정렬을 하는데, 이는 이름으로 정리해보겠습니다.


이처럼 ABC 순으로 나열된 것을 보실 수 있죠. 이제 역방향으로도 가보겠습니다.



그럼 좀 전에 조회한 William Smith라는 사원이 가장 앞으로 오고 그에 따라 T, S 순으로 정리된 모습을 확인하실 수 있습니다.

9. 합계

숫자와 공식이 있으면 당연히 그를 다 더한 값을 안 구할 수는 없겠죠. 복잡하게 갈 필요 없이, 이에 대해서도 함수가 있습니다. 하지만 여기에서는 무엇을 조회하는지에 따라 달라집니다.

적용방법은 자바 메소드와 같습니다.

1. sum() == 숫자들의 합
2. count(카테고리 명) == 데이터 갖고 있는 행 숫자 통합 조회

먼저 숫자들끼리의 합을 계산하는 sum 먼저 알아보겠습니다.


Employees 데이터 표에 연봉들을 다 더해준 모습입니다. 총 691,416달러이네요.

그럼 이와 달리 count()는 어떻게 적용되는지 볼까요?


이렇게 (*)표를 찍으면 전체 표의 전체 행 수를 조회해줄 수 있습니다.

107개네요. 그럼 카테고리도 가볼까요.


부서명으로 조회해주었습니다. 데이터는 107개인데, 부서는 106개이다?

그럼 이런 경우를 생각해볼 수 있습니다. 이 부서는 아직 개설이 되지 않은 겁니다. 없는 부서를 준비도 안된 상태로 만들 수는 없으니, null 값을 넣었다고 생각해줄 수 있겠죠.

10. 평균

합계도 구했는데, 평균을 안 구해볼 수 없겠죠. 이도 메소드 방식과 같습니다.

AVG()

사원들의 평균 연봉을 구해봅시다.

그럼 결과값은 아래와 같이 나타납니다. 사원 연봉이 6000달러면... 적은 건지 많은 건지 모르겠네요.

To Be Continued...

이로서 함수 설명 2탄도 마칩니다. 다음 포스팅이 마지막이... 되지는 않겠네요. 5개씩 끊고 있는데 잘하고 있는건지 모르겠습니다. 다음 포스팅에서 뵙겠습니다.

profile
애옹.

0개의 댓글