select max(sal)
from emp;
select max(sal)
from emp
where job='SALESMAN';
-- 에러발생:
-- job은 여러개를 max(sal)은 하나를 출력하려고 해서 충돌됨
select job, max(sal)
from emp
where job='SALESMAN';
-- 에러해결: group by 사용
select job, max(sal)
from emp
where job='SALESMAN'
group by job;
💡
group by
를 사용해야 그룹핑이 되어서 결과 출력 가능
select job, max(sal)
from emp
group by job;
select deptno, max(deptno)
from emp
group by deptno;
select deptno, max(deptno)
from emp
where deptno != 30
group by deptno;
select max(age)
from emp21
where address like '%서울%';
select telecom, max(age)
from emp21
where telecom is not null
group by telecom;
select decode(telecom,'LG U+', 'LG', telecom) as telecom , max(age)
from emp21
where telecom is not null
group by decode(telecom,'LG U+', 'LG', telecom);
LG U+면 LG 로 나오게하고 나머지 텔레콤은 그냥 텔레콤으로 나오게해라
select job, max(sal)
from emp
where job != 'SALESMAN'
group by job;
💡 실행순서: from - where - group by - select
select job, max(sal)
from emp
where job != 'SALESMAN'
group by job
order by job;
💡
select 검색할 컬럼명
from 테이블명
where 검색조건
group by 그룹핑할 컬럼
order by 정렬할 컬럼
- 코딩순서:
select - from - where - group by - order by
- 실행순서
from - where - group by - select - order by