2. 그 집합을 메모리 내에 단일 테이블 Hash Cluster(충분한 메모리가 있는경우)로 변환한다. 이때, 조인 컬럼 값에 대해 내부적인 해싱함수를 적용해 해시 키 값을 생성한다.
3. 두 번째 테이블로 부터 데이터를 읽어 들인다. 각 로우를 읽어 들일 때 조인 컬럼 값에 동일한 해싱함수를 적용시키면서, 메모리의 Hash Cluster에서 일치하는 로우가 있는지 체크한다.
Hash Cluster에 Data를 무작위로 분산되도록 조인 컬럼 값에 대해 Hash 함수를 사용해야 하므로 해시 조인은 조인 조건이 "equality"일때만 사용 가능하다.
Hash Join에서 첫 번째 테이블이 메모리에 Hash Cluster를 'Build' 하므로 Build Table이라 하고, 두번째 Table이 그 Table의 Row로 메모리에 있는 Hash Cluster를 'Probe(탐침)'하므로 Probe Table이라고 한다.