본문 바로가기
휴지통/휴지통1

SQL 5일차 그룹 함수, JOIN

by Shuming 2015. 12. 28.
반응형

25일차 SQL


전 시간에 이어서 그룹함수 마무리


중요한 것은 GROUP BY 절에서 단일 그룹을 제어하는 것이 가장 중요.

그룹 함수와 단일 그룹은 묶을 수 없다.




HAVING 절.

  • GROUP BY 절의 “결과” 값에 조건을 사용하기 위해 사용.



SELECT DEPTNO, AVG(SAL)

FROM EMP

GROUP BY DEPTNO

HAVING AVG(SAL) >= 2000;


1.PNG




부서의 최대값과 최소값을 구하는데, 최대값이 2900 이상인 결과만 출력.


select deptno, max(sal), min(sal)

from emp

group by deptno

having max(sal) > 2900;


1.PNG














7장 JOIN


JOIN은 java의 data base 는 즉 R_DBMS 는 테이블이 세세하게 나누어져 있기 때문에 원하는 데이터를 꺼내오기 위해 JOIN을 사용합니다.

(*Relation-Data Base Management System)




CROSS JOIN


각각의 모든 행이 각각 대입 되어 사용된다.(emp 12 * 4 dept)

- 주로 데이터의 양을 증가 시키기 위해 주로 사용됨.



select *

from emp, dept; = (cross join 즉 emp*dept)



1.PNG













Equi Join ( JOIN ) * 가장 많이 사용된다


select *

from emp,dept

where emp.deptno = dept.deptno;


1.PNG


ERD (Entity(table) Relation Diagram) 테이블 관계 다이얼그램 을 주면 그걸 토대로 겹치는 부분이 있는지 확인하고 join하던가 하는형태로 일을 진행한단다





사원번호와 사원이름은 emp 부서 이름과, 부서 위치는 dept 일때 밀러라는 사원만 검색하려면?


select empno,ename,dname,loc

from emp,dept

where emp.deptno = dept.deptno

and ename = 'MILLER';


  • where 를 한번 더 쓰려면 and!


1.PNG





deptno 은 둘 다 갖고 있는 값이라, 에매하기 때문에 error !!


1.PNG




이럴경우에는



1.PNG


이런식으로 사용하여 명확성을 준다.




결과 :

1.PNG







1.PNG+ as 네이밍.







예제 - 뉴욕에서 근무하는 사원의 이름과 급여 출력.


1.PNG 결과 : 2.PNG










Non Equi Join 두개의 테이블에 “조건”으로 데이터에 접근하는 방식.



SALGRADE = 급여 등급 테이블 1.PNG






1.PNG2.PNG




하나의 테이블에 또 다른 테이블이 조건으로 접근하는 형태이다













Self Join 자기 자신을 객관적인 또 다른 테이블처럼 사용하여 자신과 조인한다.




1.PNG


(이름만 e1, e2로 나누어 그냥 테이블 처럼 쓰면됨)



2.PNG






예제 매니저가 KING인 사원들의 이름과 직급을 출력하시오.



1.PNG

2.PNG













Outer Join  특징은 + 기호를 사용한다 (예외적인 데이터를 포함한다)


1.PNG 1.PNG


2.PNG          2.PNG


  • (+) 가 붙은 쪽을 기준으로, 반대편의 데이터를 모두 갖고 와라!

(+)가 없는 데이터를 가져오는 것!




반응형

'휴지통 > 휴지통1' 카테고리의 다른 글

android studio setting~  (0) 2016.03.14
SQL 6일차 서브 쿼리와 DDL  (0) 2015.12.29
JAVA 채팅 프로그램 해설 및 주석하며 리뷰  (0) 2015.12.24
JAVA - 채팅프로그래밍.  (0) 2015.12.23
SQL 4일차 - 주요 함수  (0) 2015.12.23

댓글