2015-01-26 4 views
-2

SQL으로 작업 한 이후로 잠시 지났으며 링크 된 테이블에서 데이터를 가져 오는 가장 좋은 방법을 기억하지 못합니다. Cat과 Bat 테이블에서 데이터를 가져 오는 가장 좋은 방법은 무엇입니까?이 SQL 쿼리는 어떻게 개선합니까?

Apple 
--------- 
batId 
catId 

Bat 
--------- 
id 
batField1 
batField2 
batField3 

Cat 
--------- 
id 
catField1 
catField2 
catField3 

나는 batField1, batField3 및 catField1을 얻으려고합니다. 이것은 당신이 그 병합 할 것으로 예상 어떻게 내 현재 쿼리

SELECT b.batField1, b.batField3, c.catField1 
FROM Apple AS a, Bat as b, Cat as c 
WHERE a.batId = b.id OR a.catId = c.id; 
+0

입니까? 예상되는 최종 결과를 보여줄 수 있습니까? –

답변

2
SELECT b.batField1, b.batField3, c.catField1 
FROM Apple AS a 
LEFT JOIN Bat as b ON A.BatID = b.ID 
LEFT JOIN Cat as c ON A.CatID = c.ID 
1
SELECT b.batField1, b.batField3, c.catField1 
FROM Bat b 
INNER JOIN Apple a ON b.Id = a.batID 
INNER JOIN Cat c ON a.catId = c.id 
관련 문제