NONE-EQUI JOIN(비등가 JOIN) 문법

최대 1 분 소요

NONE-EQUI JOIN(비등가 JOIN) 요약

  • 등급과 관련된 MIN && MAX 값이 있는 테이블이 있는상태…(BETWEEEN을 사용)
  • INTO 절과 VALUES 절에 기술한 컬럼의 개수데이터 타입은 동일해야 한다.
  • 임시테이블을 생성해서, 필요한 조건만을 뽑기 위해 위한 용도에 많이 쓸것 같다.

예제 1 연봉에 따른 등급을 뽑아냄

SELECT ENAME, SAL, GRADE
    FROM EMP,SALGRADE
    WHERE SAL BETWEEN LOSAL AND HISAL;

예제 2 범위함수

SELECT C.GNAME, TO_CHAR(C.POINT, 'L999,999'),G.GNAME --ORACLE 방식
FROM customer C, GIFT G
WHERE C.POINT BETWEEN G_START AND G_END;

SELECT C.GNAME, TO_CHAR(C.POINT, 'L999,999'),G.GNAME --ANSI 방식
FROM customer C JOIN GIFT G
ON C.POINT BETWEEN G_START AND G_END;

예제 3 카운트

SELECT G.GNAME, COUNT(*)||'개' 카운트 --ORACLE 방식
FROM customer C, GIFT G
WHERE C.POINT BETWEEN G_START AND G_END
GROUP BY G.GNAME
ORDER BY 카운트 DESC;

예제 4 3개테이블 조인

SELECT A.NAME, B.TOTAL, C.GRADE
FROM STUDENT A, SCORE B, HAKJUM C
WHERE A.STUDNO = B.STUDNO
AND B.TOTAL BETWEEN C.MIN_POINT AND MAX_POINT;

댓글남기기