
86
러닝 SQL
이제 결과셋에는 각 영화마다 출연한 배우
ID
를 전부 나열한
5
,
462
개의 행이 아닌, 배우마다
ID
하나씩 총
200
개의 행이 포함됩니다.
NOTE
_ 단순히 모든 배우의 목록을 원한다면
lm
_
actor
테이블의 모든 행을 읽고 중복을 제거하는 대신
actor
테이블을 쿼리합니다.
서버가 중복 데이터를 제거하는 것을 원치 않거나 결과에 중복값이 없는 게 확실할 때는
distinct
를 지정하는 대신
all
키워드를 지정할 수 있습니다. 그러나
all
키워드는 기본값이
고, 명시적으로 이름을 지정할 필요가 없으므로 대부분의 프로그래머가 쿼리에
all
을 포함하
지 않습니다.
WARNING
_
distinct
결과를 생성하려면 데이터를 정렬해야 하므로 결과셋의 용량이 클 때는 시간이
오래 걸릴 수 있습니다. 중복이 없는지 확인하려고
distinct
를 사용하는 함정에 빠지는 대신, 작업중인 데
이터를 먼저 이해하고 중복 여부를 파악해야 합니다.
3.4
From
절
지금까지
from
절에 단일 테이블이 포함된 쿼리를 살펴보았습니다. 대부분의
SQL
도서는
from
절을 단순히 하나 이상의 테이블 목록으로 정의하지만, 이 책에서는 다음과 같이 정의를
확장하려 합니다.
from
절은 쿼리에 사용되는 테이블을 명시할 뿐만 아니라, 테이블을 서로 연결하는 수단도 ...