2017-10-08 16 views
0

저는 DBMS와 SQL을 처음 사용합니다. 두 테이블을 사용하는 쿼리를 실행해야합니다. 예를 들어 명의 사용자 [이름, 암호, ID, 회사 ID]과 다른 테이블 [comp_name, companyID, netWorth]이 있습니다. companyId는 두 테이블을 연결합니다. 모든 사용자에게 기본 relg 작업을 사용하여 이름이 comp_name 및 netWorth 인 쿼리를 만들어야합니다.기본 관계 대수를 사용하여 SQL/DBMS에서 두 개의 서로 다른 테이블을 사용하여 쿼리 만들기

+1

사용하는 관계 대수의 버전은 무엇? 이 부분의 어떤 부분을 할 수 있습니까? 어떤 예가 이것처럼 보입니까? 이 글은 절대적으로 기본적인 질문이기 때문에 무엇을 귀하의 텍스트 및 인터넷 검색을 제안 했습니까? 당신은 DBMS의 테이블이 대수를 통해 아직 연산된다는 것을 의미합니까? 그것은 SQL이거나 대수입니다. 당신의 임무는 정확히 무엇이라고 말합니까? – philipxy

답변

1

간단한 join 트릭 수행해야합니다

SELECT u.name, c.comp_name, c.net_worth 
FROM users u 
JOIN companies c ON u.company_id = c.company_id 
0

이 쿼리는

를 찾고 있습니다됩니다 (그냥 =, 아니 INNER JOIN을 사용))

SELECT users.name, companies.comp_name, companies.netWorth 
FROM companies, users 
WHERE companies.companyID = users.companyId 
+0

이 방법이 효과적 일지 모르지만, 필터 대신 조인이 수행된다는 것이 분명하기 때문에 표를 조인하기 위해 = 기호 대신 ANSI 조인 구문 (예 : INNER JOIN 키워드 사용)을 사용하는 것이 좋습니다. 그리 쉽습니다. 이런 방식으로 쿼리를 작성하는 경우 조인. – bbrumm

+0

@bbrumm','와'cross join' 사이에는 차이가 없으며, 우선 순위를 제외하고'on'과'where' 사이에 차이가 없으므로 여러분은 그 결과가 엉성합니다. 'on'이 필요한 유일한 이유는 외부 조인 때문이었습니다. – philipxy

+1

',''cross join'입니다. 이것은''inner''' on'' 사실입니다. 네가하는 말은 뭐니? 당신은 분명하지 않습니다. 이모티콘으로는 더 명확하지 않습니다. – philipxy