* 테이블
- 데이터 모델에서 인스턴스에 해당하는 로우와 속성에 해당하는 컬럼으로 이루어진다.
- 데이터 모델에서 엔터티에 해당, 데이터를 저장하기 위해 사용.
- 데이터베이스는 일반적으로 여러 개의 테이블로 구성된다.
* 형변환
- 명시적 형변환 - 변환 함수를 사용하여 데이터 유형 변환을 명시적으로 나타냄
- 암시적 형변환 - 변환 함수(To_DATE 등)를 사용하지 않고 데이터베이스 내부적으로 형변환이 되는 것이며 때에 따라서 인덱스를 사용할 수 없는 등의 성능상 문제를 일으킬 수 있으므로 되도록 명시적 형변환을 하는 것이 바람직하다.
* OUTER JOIN
- 가준이 되는 테이블은 항상 모두 출력이 되고 ON 절에 정의된 조건으로 JOIN의 여부를 판단하게 된다.
- OUTER JOIN 앞에나오는 단어에 위치하는 테이블이 기준이다.
* CROSS JOIN
- 조합할 수 있는 모든 경우를 출력하는 방식
- JOIN 조건이 없는 경우 카티션곱을 사용하는 방식
* JOIN
- 두 개 이상의 테이블을 연결하여 데이터를 출력하는 곳
- EQUI / Non EQUI JOIN은 하나의 쿼리에서 같이 사용할 수 있다.
- EQUI JOIN은 JOIN 하는 테이블들의 컬럼값에 ‘=’ 조건이 성립하는 경우 사용 가능하다.
- 테이블 간에 PK,FK의 연관 관계가 없어도 JOIN이 가능하다.
* 중첩 서브쿼리
- 단일 행 서브쿼리 - 서브쿼리가 1건 이하, 단일 행 비교 연산자와 함께 사용
- 다중 행 서브쿼리 - 서브쿼리가 여러 건의 데이터, 다중 행 비교 연산자 사용
- 다중 컬럼 서브쿼리 - 서브쿼리가 여러 컬럼의 데이터를 반환
* 뷰 - 사용자는 내부적으로 뷰를 생성하는 SQL을 볼 수 없으므로 투명성을 가진다고 할 수 없다.
- 보안성 : 보안이 필요한 컬럼을 가진 테이블일 경우 해당 컬럼을 제외한 별도의 뷰를 생성하여 제공해 보안
- 독립성 : 테이블 스키마가 변경괴었을 경우 어플리케이션은 변경하지 않고 관련 뷰만 수정한다.
- 편리성 : 복잡한 쿼리 구문을 뷰명으로 단축시킴으로써 가독성을 높이고 편리하게 사용
* ORDER BY
- 데이터를 큭정 칼럼 지군으로 정렬하기 위해 사용, SELECT 절에 기술된 ALIAS 사용 가능
- NULL 값을 가장 큰 값으로 간주하여 정렬할 것인지 가장 작은 값으로 정렬할 것인지는 DBMS마다 다르다.
-기본적으로 아무것도 없으면 오름차순을 사용한다.