. HAVING 절
: GROUP BY 절에 의해 생성된 결과 값 중 원하는 조건에
부합하는 자료만 보고자 할 때 사용한다.
: SELECT 절에 조건을 사용하여 결과를 제한할때는 WHERE 절을 사용하며,
그룹의 결과를 제한할때는 HAVING절을 사용합니다.
. JOIN(조인)
: 관계형 데이터 베이스는 두 개 이상의 테이블에 정보가 나누어져 있습니다.
중복해서 데이터를 저장하는 것을 지양하기 때문입니다.
각각의 테이블에 분리 되어 있는 연관성있는 데이터들을 연결하거나
조합하여 데이터를 사용할 수 있다면 중요한 정보로서 가공될 수 있으며
이런 작업들을 JOIN(조인) 이라고 합니다.
여러 테이블에 흩어져 있는 정보 중에서 사용자가 필요한 정보만 가져와서
가상의 테이블처럼 만들어서 결과를 보여준다.
종류 의미
Equi Join 동일 컬럼을 기준으로 조인
Non_Equi Join 동일 컬럼이 없이 다른 조건을 사용하여 조인
Outer Join 조인 조건에 만족하지 않은 로우도 나타냄
Self Join 한 테이블 내의 조인
. Cross Join = (Cartesian Product : 카티션 곱) // 잘안쓴다
: 2개 이상의 테이블이 조인될 때 WHERE 절에 의해 공통되는 컬럼에 의한 결합이
발생하지 않는 경우의 의미
. Non Equi Join
: 동일 컬럼이 없이 다른 조건을 사용하여 조인할 때 쓰인다.
ANSI Syntax
ANSI SQL
DBMS(Oracle, My-SQL, DB2 등등) 들에서 각기 다른 SQL를 사용하므로,
미국 표준 협회(American National Standard Institute)에서 이를 표준화하여
표준 SQL문을 정립시켜 놓은 것이다.
ANSI SQL 특징
표준 SQL문이기 때문에 DBMS의 종류에 제약을 받지 않는다.( My SQL, Oracle...)
즉, 특정 벤더에 종속적이지 않아 다른 벤더의 DBMS로 교체하더라도 빠르게 다른 벤더사를 이용할 수 있다.
특정 DBMS의 이탈이 가속되는 것도 ANSI SQL의 영향이 크다고 할 수 있다.
테이블간 join관계가 FROM에서 명시되기 때문에 WHERE문에서 조건만 확인하면 된다.
즉, 가독성이 일반 Query문보다 좋다.