자연스러운 조인에 대해 TL과 논쟁을 벌였습니다. 자연스러운 조인은 사용해서는 안되며, 자연스럽게 조인하지 않고 조인하고 내부 조인과 함께 가지 않을 것이라고 말했습니다.자연스럽게 참여하지 말아야합니다
답변
과 같은 질문을 다시 말하십시오. Natural Join과 Inner 간의 관계는 무엇입니까?은 무엇입니까? 'JOINS
의 한계는 무엇입니까 SQL Server 2008
에 있습니까?
SQL Server에서는 자연 결합이 제거되므로 사용법에 따라 확장 가능한 측면도 있습니다. 너무 구체적 점점없이 NATURAL JOIN
은 제외하고 INNER JOIN
- A) 반환과 같은 본질적으로 열 (테이블 제외
INTERSECT
/UNION
는 - B) 암시 적으로 추가) 다른 열이 할 수 있다고 생각 별개의 사용 가능한 모든 열에
EQUI JOIN
이 있어야합니다.
그림 : 주, 이것은 당신이 그 차이를 볼 수 있나요 SQL 서버 2012
DECLARE @TableA TABLE (Col1 VARCHAR(10)
, Col2 VARCHAR(10));
DECLARE @TableB TABLE (Col1 VARCHAR(10)
, Col2 VARCHAR(10)
, Col3 VARCHAR(10));
INSERT INTO @TableA (Col1, Col2)
VALUES ('C', 'D');
INSERT INTO @TableB (Col1, Col2, Col3)
VALUES ('C', 'D', 'E');
SELECT *
FROM @TableA
NATURAL JOIN (SELECT Col1, Col2, Col3
FROM @TableB) AS B
-- returns
Col1 | Col2 | Co3
'C' 'D' 'E'
SELECT *
FROM @TableA AS A
INNER JOIN (SELECT Col1, Col2, Col3
FROM @Table B) AS B ON A.Col1 = B.Col1
AND A.Col2 = B.Col2
-- returns A = @TableA, B = @TableB
A.Col1 | B.Col1 | A.Col2 | B.Col2 | B.Col2
'C' 'C' 'D' 'D' 'E'
설계되었다? 오히려 의미있는 일입니까? 내부에서 여전히 두 테이블의 결과를 비교할 수 있지만 Natural JOIN
은 INTERCEPT
과 같으며 열을 그룹화합니다. 결과 집합의 관계를 잃게됩니다.
결론 :
- 모두가 자신의 의견을받을 수 있지만,
SQL
는 검색어에 관계없이 동일하게 해석됩니다. - 조인의 작동 방식을 이해하면 이러한 조인을 사용할 수있는 비즈니스를 이해하는 데 도움이됩니다. 또는 적어도 다른
SQL
언어로 작업 할 수 있습니다. TSQL
은NATURAL JOIN
을 제거하여UNION
,UNION ALL
,INTERSECT
및EXCEPT
을 제거했습니다.
가능한 경우 비즈니스 의사 결정의 배후에 TL을 물어보십시오. 그가 SQL Querying을 어떻게 이해하는지 알아보십시오. 당신은 통찰력이있는 어떤 것을 얻거나 ... 음, 틀에 얽매이지 않는 것들을들을 준비를 할 수 있습니다 ...하지만 적어도 당신은 SQL, 당신의 회사, 그리고 질문하는 방법에 대해 더 많이 배우고 있습니다.
A 승/승, 나는 말한다.
, NAUTRAL JOIN 및 INNER JOIN에 대해 분명히 알고 있습니다. 왜 EQUJOIN 및 FULLJOIN이 SQL Server에서 덜 사용되는지 알고 싶습니다. –
"SQL Server에서 Natural 조인을 제거합니다."그렇지만 SQL Server에서 NATURAL JOIN을 사용하고 있습니다. 해당 성명에 버전 번호가 누락 되었습니까? 또는 당신은 무엇을 정말로 의미 했느냐? –
또한 "** 열을 함께 그룹화합니다. 결과 세트에서 관계를 잃게됩니다." 그게 관계라고 생각하는 것 같아. 'join '에 사용 된 두 개의 열이 모두 반환되는 것을 잃어 버리게됩니다. 분명히 동일한 값이 보장되는 두 개의 복사본 만 있기 때문에 실제로는 손실이 아닙니다. 또는, 다시, 나는 무엇인가 놓치고 있냐? –
- 1. COALESCE가 참여하지 않음
- 2. 수업에 참여하지 않겠습니까?
- 3. 콜백 - after_save하지만 만들지 말아야합니다
- 4. Gorm이 참여하지 않습니다.
- 5. div 오른쪽 정렬하지 말아야합니다.
- 6. ScrollViewer를 스크롤하지 말아야합니다.
- 7. 왼쪽에 참여하지 않음
- 8. 모노 배열은 자연스럽게 정렬됩니까?
- 9. 자연스럽게 일괄 파일 정렬
- 10. 요소가 텍스트 선택에 참여하지 못하도록합니다.
- 11. 안드로이드 응용 프로그램을 종료하지 말아야합니다.
- 12. popoverControllerDidDismissPopover 내가해야한다고 생각하는 것을하지 말아야합니다.
- 13. fork + exec + 호출자가 자식을 기다리지 말아야합니다.
- 14. 열렬한 가져 오기가 참여하지 않는 것 같습니다.
- 15. Akka가 자동으로 시드 노드에 참여하지 않습니다.
- 16. Android : SharedPreferences가 다른 활동에 참여하지 않음
- 17. annotate()를 사용하여 레코드를 계산하지 말아야합니다.
- 18. 참여하지 않고 열망하는로드에 조건을 두는 방법은 무엇입니까?
- 19. 직원이 참여하지 않은 퀴즈를 보여주는 방법은 무엇입니까?
- 20. Entity Framework 영원히 참여하지 못함 (성능 문제)
- 21. BST : 반드시 void 값을 무시하지 말아야합니다.
- 22. Matlab, 가장자리에 참여하지 않는 노드를 찾으십니까?
- 23. div 또는 기타 요소에 아약스 데이터를로드하지 말아야합니다.
- 24. 파이썬 다중 처리가 절대 참여하지 않습니다.
- 25. OBIEE 11g 작동하지 않음 : 분석에 참여하지 않습니까?
- 26. 한 페이지에 대해 Forms 인증을 사용하지 말아야합니다.
- 27. 젠킨스에서 빌드하기 전에 병합은 실패하지만하지 말아야합니다.
- 28. .NET 응용 프로그램은 메모리를 자연스럽게 사용합니까?
- 29. HTML5 캔버스 애니메이션은 가장자리에서 생기고 자연스럽게 돌아갑니다.
- 30. 게임 루프에서 멈추고 자연스럽게 스프라이트를 제거합니다.
TL이 팀 리드를 의미한다고 가정합니다. 그는 자연 결합을 사용하지 말고 사용하지 마십시오. 뭐가 문제 야? 너의 질문은 정확히 무엇인가? –
[자연 조인을 이해하는 데 어려움] (http://stackoverflow.com/questions/14546617/difficulties-in-understanding-natural-join)의 가능한 복제본 –
나는 한 번 이상 플래그를 지정할 수 없으므로이 질문은 아닙니다. 코드에 대해 (아마도 DBA에 더 좋을 것입니다. 그러나 그곳에는 다음과 같은 것들도 있습니다), 너무 광범위하고 너무 독창적이며 중복됩니다 : http://stackoverflow.com/questions/14546617/difficulties-in-understanding-natural-join/http ://스택 오버플로.co.kr/questions/8696383/natural-join-and-inner-join의 차이점 –