아래 표를 고려할 때,이에 따라서 각 profession.profession
SQL - 일치하는 결과
에 대한 하나 개의 결과로 제한 a를 profession.profession_id
이 contractor_has_profession.profession_id
에있을 때 profession.profession
를 반환 쿼리하지만, 쓰기 얼마나 예를 결과 할 것이다 [코더, 데이터베이스, 프론트 엔드]
contractor_has_profession
contractor_id | profession_id
1 | 5
2 | 5
3 | 5
4 | 2
5 | 1
profession
profession_id | profession
1 | Frontend
2 | Database
3 | Graphics
4 | Sound
5 | Coder
이 중복을 다시 가져올 것이다 EXISTS'가 더 효율적입니다. 아마도 MySQL에서는 아마도 하위 쿼리 성능이 매우 좋을 것 같습니다. –
@Martin 나는 그것이 다르다고 생각하지만, 사실 당신의 솔루션은 더 빠릅니다. 가장 좋은 방법은 대상 설치에서 테스트하는 것입니다. 당신이 솔루션에서 말했듯이 우리는 하위 쿼리를 수행해야합니다. 조인은 훨씬 빠르게 afaik입니다. – rsc
얘들 아, 두 솔루션 모두 완벽하게 작동합니다. 글쎄 내 경우 엔 속도가 문제라고 생각하지 않는다. 그러나이 솔루션을 사용하는 것이 더 쉽습니다. 활성 레코드로 변경하는 방법을 더 쉽게 이해할 수 있습니다. 모든 쿼리를 하나의 표준으로 유지하는 것이 더 쉽습니다. – davivid