IT/SQL
[SQL] from
올빼밋.
2022. 3. 24. 15:09
728x90
# 출처 : [도서]불친절한 SQL 프로그래밍(정희락)
# 출처 : [도서]이것이 MySQL이다(우재남)
FROM 절
조회할 테이블
# 테이블은 쉼표로 구분하며, 2개 이상의 테이블을 기술하면 조인이 수행된다.
FROM [schema.]table [sample_clause] [t_alias]
- 스키마
- 해당 스키마의 테이블 조회
- 예시
- SELECT scott.dept.deptno FROM scott.dept;
- 아래의 4가지 경우, 위와 같이 해석된다.
- SELECT deptno FROM dept;
- SELECT deptno FROM scott.dept;
- SELECT dept.deptno FROM dept;
- SELECT dept.deptno FROM scott.dept;
- 아래의 4가지 경우, 위와 같이 해석된다.
- SELECT scott.dept.deptno FROM scott.dept;
- 테이블 별칭
- 쿼리를 간결하게 작성 가능
- 사용 예시 ) SELECT a.deptno FROM dept a;
- 오류 발생 구문
- SELECT dept.deptno FROM dept a;
- dept가 a로 대체되었기 때문
- SELECT * FROM dept, emp WHERE deptno = deptno;
- FROM 절에 2개 이상의 테이블을 기술하여, WHERE 절에 기술한 deptno 열이 어느 테이블의 열인지 알 수 었기 때문
- 해결 : SELECT * FROM dept, emp WHERE emp.deptno = dept.deptno
- SELECT dept.deptno FROM dept a;
- SAMPLE 절
- 테이블을 샘플링하여 조회
- 대용량 테이블에 대한 통계값을 생성할 때 활용할 수 있다.
- 사용 예시 ) SELECT * FROM dept SAMPLE(30);
- 비율을 30으로 지정했기 때문에 1행만 반환
SAMPLE [BLOCK] (sample_percent) [SEED (seed_value)]
BLOCK | 블록 샘플링을 사용 (지정하지 않으면 로우 샘플링) |
sample_percent | 샘플링 비율 (0.000001 <= sample_percent < 100) |
SEED (seed_value) | 항상 동일한 샘플을 반환 (seed_value는 0 ~ 4294967295 범위의 정수) |
728x90