2016-10-26 1 views
0

내가 대학에서 현재와 나는 같은 질문이 프로젝트를하고 선택 나는 그것을하는 "올바른"방법을 놓치고있다 - 그것은 확실히 조금 clunky하다고 느낀다. 나는 아직 조인을 이해하지 못한다. 바보 같은 질문이라면 미안 해요.효율적인 SQL 쿼리

+2

대부분의 아마 당신이 여기에 가입하려면이 (더 구체적으로, 내부 조인) https://en.wikipedia.org/wiki/Join_ (SQL) – jarlh

+2

나는 내 방향으로 많은 불을 초대하고 있음을 알고 있지만 JOIN의 사용자를 제안하는 사람들에게는 동의하지 않습니다. 귀하의 질의는이 특정한 단순한 요구에 대해 OK이며, 성능면에서는 최상의 결과를 얻을 것입니다. 당신은 단순한 스타일을 사용하는 악몽 일 것입니다 훨씬 복잡한 쿼리에 대한 조인을 고려해야 할 것입니다. 이것은 많은 사람들이 동의하지 않는 개인적인 견해입니다. 원하는대로 선택할 수 있습니다. – FDavidov

+2

AFAIK, 몇몇 dbms 제품은 IN보다 조인을 최적화합니다. – jarlh

답변

0

사용하는 대신 WHERE 절에 하위 선택의 INNER JOIN :

Select * 
from recent_purchases rp 
inner join customers c on c.customer_id = rp.customer_id 
where c.name like '%john%' 
+0

응답에 감사드립니다. 이 방법과 두 가지를 선택하는 것의 이점은 무엇입니까? – Apoxd

+1

@Apoxd, 내 의견을 읽어보십시오. – FDavidov

+0

@Apoxd 참고 사항 : http://stackoverflow.com/questions/2577174/join-vs-sub-query. 일반적으로 조인은 하위 선택보다 빠릅니다. 그러나 당신의 사용법에 달려있다. – rbr94