SQL 데이터베이스에 연결한 후에는 쿼리할 테이블을 선택합니다. 기본 테이블을 선택하거나, 여러 테이블을 결합하여 모든 테이블을 쿼리할 수 있습니다.
기본적으로 JMP는 테이블에서 할당된 키 관계에 따라 테이블을 결합하려고 시도합니다.
• 기본 키는 예를 들어 고객 ID 번호와 같이 데이터를 고유하게 설명하는 열을 식별합니다. 기본 테이블의 모든 행은 쿼리에 포함됩니다.
• 보조 테이블의 외래 키는 결합된 테이블 중 하나의 기본 키와 매칭됩니다. 보조 테이블의 매칭되는 행만 쿼리에 포함됩니다.
키가 없으면 두 테이블을 결합하는 열 이름을 기준으로 데이터가 매칭됩니다. 기본적으로는 보조 테이블의 매칭되는 행만 쿼리에 포함됩니다.
이 예에서는 여러 테이블을 결합하는 방법을 보여 줍니다. 하지만 단일 테이블을 사용하여 쿼리를 생성할 수도 있습니다. 이 경우에는 결합이 필요하지 않습니다.
참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.
1. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.
2. "스키마 - 테이블" 목록에서 스키마를 선택합니다.
테이블도 선택할 경우 "다음" 버튼을 클릭한 후에는 해당 테이블이 기본 테이블이 됩니다.
3. "쿼리할 테이블 선택" 창의 "사용 가능한 테이블" 목록에서 g6_Customers를 선택한 후 기본을 클릭합니다.
"열" 탭에서는 CustID가 기본 키임을 보여 줍니다. 또한 데이터가 인덱싱되어 있으므로 쿼리 속도가 빠릅니다.
4. "사용 가능한 테이블" 목록에서 g6_Movies 및 g6_Rentals를 선택한 후 보조를 클릭합니다.
왼쪽 결합 아이콘
은 테이블이 자동으로 결합되었음을 나타냅니다(Figure 3.36). CustID는 g6_Customers의 기본 키이며 다른 테이블 중 하나의 외래 키와 매칭됩니다.
팁: 기본 테이블 또는 보조 테이블을 추가한 후에 매칭되는 열이 있는 테이블을 추가하려면 관련 테이블 추가를 클릭하십시오. 관련 테이블을 찾을 수 없거나 기본 테이블 또는 보조 테이블이 선택되지 않은 경우에는 이 버튼을 사용할 수 없습니다.
Figure 3.36에서는 완료된 창을 보여 줍니다.
그림 3.36 기본 테이블 및 보조 테이블 선택
팁: 긴 목록에서 스키마를 찾으려면 스키마 위의 검색 상자에 이름을 입력하십시오. 테이블 목록 위에서 테이블을 검색할 수도 있습니다. 빨간색 삼각형 메뉴를 클릭하면 대/소문자를 구분하거나 정규 표현식을 사용하여 검색하기 위한 옵션이 표시됩니다.
5. 각 테이블의 테이블 스냅샷 탭을 클릭하여 데이터를 미리 봅니다.
그림 3.37 테이블 스냅샷 탭
6. 기본 테이블과 보조 테이블 아래에서 결합 미리보기를 클릭하여 지정한 결합을 통해 생성된 테이블을 미리 봅니다.
팁:
• 보조 테이블 옆의
아이콘은 해당 테이블이 쿼리에서 결합되지 않았음을 나타냅니다. 결합할 열을 지정하려면 결합 편집 버튼
을 클릭합니다. 결합할 열을 찾을 수 없으면 제거 버튼
을 클릭하여 해당 테이블을 제거합니다. 자세한 내용은 테이블 결합 조건 편집에서 확인하십시오.
• "열" 탭에서 "키" 열에는 여러 개의 키가 표시될 수도 있으며, 일부 열은 기본 키이면서 동시에 외래 키일 수 있습니다. 기본 키는 모두 고유하므로 기본 키 옆에는 고유 키 아이콘이 나타나지 않습니다.
• "열" 탭에서 다른 스키마의 기본 키와 매칭되는 외래 키에는 "참조"가 지정됩니다. 참조는 스키마 및 열의 이름입니다.
• 다른 스키마 또는 데이터베이스를 쿼리하려면 데이터 소스 변경을 클릭합니다.
• 다른 소스(예: 데이터베이스 및 Microsoft Excel)의 데이터를 결합하려면 쿼리 빌더를 사용하여 해당 데이터베이스 데이터를 데이터 테이블로 가져옵니다. 예를 들어 Excel 데이터를 데이터 테이블로 가져온 후 "테이블" 메뉴의 "JMP 쿼리 빌더"를 사용하여 테이블을 쿼리하고 결합할 수 있습니다.
• 기본 키가 포함된 테이블을 가져올 경우 데이터 테이블의 해당 열에 "연결 ID" 열 특성이 추가됩니다. 이 열 특성을 사용하면 데이터 테이블을 가상으로 결합할 수 있습니다. 자세한 내용은 데이터 테이블 가상 결합에서 확인하십시오.
"쿼리할 테이블 선택"의 빨간색 삼각형 메뉴에서 "데이터베이스 테이블 자동 결합"은 처음부터 선택되어 있습니다. JMP에서는 키 관계나 매칭되는 열 이름을 기준으로 데이터베이스 테이블이 자동으로 결합됩니다.
키가 없거나 열 이름이 매칭되지 않는 경우에는 결합 편집
을 클릭하여 결합할 열을 지정합니다.
참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.
테이블 결합 조건을 편집하려면
1. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.
2. "쿼리할 테이블 선택" 창에서 기본 테이블로 g1_books를 선택하고 보조 테이블로 g1_charges를 선택합니다.
보조 테이블 옆의
아이콘은 해당 테이블이 쿼리에서 결합되지 않았음을 나타냅니다.
3. "보조" 테이블 페인에서 g1_charges를 선택하고 결합 편집
을 클릭합니다.
"조건 추가" 창이 나타납니다.
4. "왼쪽 열" 목록에서 g1_books를 선택합니다.
5. "왼쪽 열" 상자에서 Book ID를 선택합니다.
6. "오른쪽 열" 상자에서 ID를 선택합니다.
7. 두 상자 사이에 등호가 선택되어 있는지 확인합니다.
그림 3.38 조건 추가 창
8. 다음을 클릭합니다.
"결합 편집" 창에서는 g1_books의 매칭되지 않는 행이 데이터 테이블에 포함됨을 보여 줍니다. g1_charges에만 있는 행은 생략됩니다.
전체 결합을 수행하고 모든 행을 가져오려면 g1_charges의 매칭되지 않는 행 포함을 선택합니다. 매칭되지 않는 행에 대한 옵션 중 하나만 사용할 수 있으면 해당 데이터베이스가 전체 결합을 지원하지 않는 것입니다.
9. 확인을 클릭합니다.
참고: 모든 보조 테이블이 결합되기 전까지는 확인 버튼을 사용할 수 없습니다.
테이블이 자동으로 결합되지 않도록 하려면
• 기본 테이블 위에 있는 "쿼리할 테이블 선택"의 빨간색 삼각형 메뉴에서 데이터베이스 테이블 자동 결합을 선택 취소합니다.
• 큰 데이터베이스를 자주 쿼리하는 경우 메모리 문제를 방지하려면 환경 설정 > 쿼리 빌더에서 쿼리에 추가된 테이블 자동 결합을 선택 취소합니다.