◆그룹 함수


1) 그룹 함수 유형


*기본적으로 다음 함수들은 null값은 모두 무시합니다.

*그룹 함수는 where절로 제어할 수 없습니다.

 함수

설명 

 avg(salary)

salary의 평균

 count(salary)

행의 개수 

max(salary)

salary의 최대값 

min(salary)

salary의 최소값 

stddev(salary)

salary의 표준편차 

sum(salary)

salary의 총합 

 variance(salary)

salary의 분산 



2) group by



테이블을 기준으로 묶는 것.


a)

select department_id

from employees

group by department_id;


b)그룹 함수와 같이 쓸 때        (*그룹 함수와 같이 쓸 때 그룹 함수가 아닌 컬럼은 group by로 묶어줘야 한다.)

select department_id,sum(salary)

from employees

group by department_id;



c)having

: 그룹 함수의 조건 정도로 생각하면 될 듯 싶은데.. (where의 절(조건)을 group by에 선언 가능하나 group by의 조건을 where절로 가져가지는 못한다.)

SELECT department_id, MAX(salary)

FROM employees

GROUP BY department_id

HAVING MAX(salary)>10000 ;



◆데이터 제한 및 정렬


1) where 


SELECT last_name, job_id, department_id

FROM employees

WHERE last_name = 'Whalen' ;


2) 비교 연산자


특정 표현식을 다른 값이나 표현식과 비교하는 조건에서 사용


 연산자

의미 

같음 

큼 

>= 

크거나 같다 

작다 

<= 

작거나 같다 

between ~ and  

사이(=범위) 

in(,,,,) 

리스트 범위 

like 

문자 패턴 검색 

is null 

null의 여부 



SELECT last_name, salary

FROM employees

WHERE salary <= 3000 ;


3)between a and b (a와 b사이의 값)

SELECT last_name, salary

FROM employees

WHERE salary between 3000 and 5000;


4)in (리스트 범위 제한)


select employee_id,

        last_name,

        salary,

        manager_id

from employees

where employee_id in (100,101,102);

 SELECT LAST_NAME, JOB_ID

FROM EMPLOYEES

WHERE JOB_ID

NOT IN('IT_PROG','ST_CLERK','SA_REP');



5)like 


(a) r로 끝나는 문자

 select first_name

        , last_name

from employees

where first_name like '%r';  -- 'r%'로 하게 되면 r로 시작하는 문자


(b)2번째 단어가 'o'인 문자

select last_name

from employees

where last_name like '_o%';


(c)문자열 안에서 _(언더바) 찾기 

select last_name

from emptest

where last_name like '\_' ESCAPE '\'; -- escape 지정하기 \ 뒤에 붙은 _ 언더바는 문자 그대로의 언더바로 받음.


6)And , Or


And : 구성 요소 조건이 모두 참인 경우

Or : 구성 요소 중 하나라도 참인 경우

not : 참이라면 거짓으로 바꾸고 거짓이라면 참으로 바꾸기


 

SELECT LAST_NAME, JOB_ID

FROM EMPLOYEES

WHERE JOB_ID

NOT IN('IT_PROG','ST_CLERK','SA_REP');


7) 우선 순위 규칙


 연산자

의미 

산술 연산자

연결 연산자 

비교 조건 

is null, like, in 

5. 

between 

같지 않음 

not 

and 

or 



8)order by a   ( a기준으로 데이터 정렬하기)


desc : 내림차순

asc   : 오름 차순(디폴트임 즉, desc나 asc라고 쓰지 않으면 자동으로 asc로 선택됨.)

SELECT last_name, job_id,department_id, hire_date

FROM employees

ORDER BY hire_date DESC; -- hire_date 를 기준으로 내림차순 정렬



9)치환 변수(&=앰퍼샌드)


변수 앞에 앰퍼샌드를 붙이면 유저가 값을 입력하도록 함.


SELECT employee_id, last_name, salary, department_id

FROM employees

WHERE employee_id = &employee_num ;


10)define (미리 정의해둔 값)


&에 넣을 값을 미리 설정해놓는 것.


DEFINE employee_num = 200

SELECT employee_id, last_name, salary, department_id

FROM employees

WHERE employee_id = &employee_num ;

UNDEFINE employee_num --undefine 꼭 해줘야 함.


+ Recent posts