오라클 3

[오라클] Grouping 과 Subquery

저번 시간에 Aggregation 을 했는데 이것은 집계함수라고도 하며 이 결과는 하나의 row만 남게 된다. 그러므로 Grouping을 해주어야 같이 쓸 수 있다. # Grouping 이렇게 deptno로 grouping을 해주면 AVG를 쓰는데 문제가 없다. SELECT job, avg(sal), max(sal), min(sal) FROM emp GROUP BY job 직업별 평균 월급과 최대월급 최소월급을 구하고 싶다. 저 뒤에 group by를 써주지 않는다면 이렇게 sql에러가 날 것이다. ORA-00937: 단일 그룹의 그룹 함수가 아닙니다 00937. 00000 - "not a single-group group function" select deptno, count(*) from emp gr..

Oracle 데이터베이스 Select문 완전정복 -(2)

저번 시간에 이어 나머지 select문을 다 부셔보자. Oracle 데이터베이스 Select문 완전정복 - (1) http://pjh3749.tistory.com/156 중요한 내용들만 썼으니 모두 숙지해야 하는 부분이다. SELECT job FROM emp;이거는 결과를 보여주지 않아도 알 것이다. 하지만 여러 job들이 중복해서 나타난다. 중복을 제거하고싶다. select distinct job from emp; 각 직업들이 하나씩만 표시되게 나온다.select distinct deptno,job from emp; select distinct job,deptno from emp; 이렇게 하면 어떻게 될까? 둘이 깉은 결과가 나온다. distinct가 앞의 것에 걸리는게 아니라 전체에 걸린다. 즉, 2..

Oracle 데이터베이스 Select문 완전정복 -(1)

오라클에서 데이터베이스에서 select문을 다 부셔버리자. 먼저 쿼리문을 등록해야한다. 다운받아서 sql developer에 로그인하여 복사 붙여넣기하자. 로그인방법을 모른다면 검색하면 바로 나온다. 이것을 쿼리문 쓰는 곳에다가 붙여넣고 저 두 번째 버튼을 누르면 왼쪽 상단처럼 테이블이 만들어진다. 데이터는 임의로 삽입하였다. 왼쪽상단에 테이블이 만들어진것이 보일 것이다. 이제 select문을 활용하여 보자. EMP 테이블의 내용이다. select ename from emp; emp테이블에서 ename을 뽑아내는 것이다. 이건 쉽다. 하지만 이렇다면? Select Ename From Emp; // 대소문자가 엉켜있다. SELECT ename FROM emp; // 엔터가 쳐져있다. 결과는 같다. 결론은 ..

반응형