단일 테이블에 대해 여러 개의 별칭 이름을 사용할 수 있습니까?테이블의 여러 별칭 이름
답변
예.
:create table Foo (
FooID int
,ParentFooID int
,[columns]
)
당신은이 같은 쿼리로 특정 조건을 만족하는 부모의 자식을 얻기 위해 가입 할 수 있습니다 : 당신은 당신이 계층 구조를 저장하는 테이블이 f를 예를 들어 self join,이 작업을 수행 할 필요가
Select b.*
from Foo a
join Foo b
on a.FooID = b.ParentFooID
and [some condition filtering a]
+1의 추측력! –
하지만 성능에 영향을 줄 것인가? –
쿼리 최적화 프로그램은 조인 조건자를 해결하는 데 필요한 모든 작업을 수행해야합니다. 예를 들어 테이블이 크고 ParentFooID에 대한 인덱스가있는 경우 FooID - ParentFooID 조인을 해결하기 위해 인덱스 조회를 수행해야 할 수 있습니다. 경기를하는 것은 항상 약간의 자원을 필요로합니다. – ConcernedOfTunbridgeWells
아니요, 동일한 테이블에 있지는 않지만 동일한 테이블을 두 번 선택하고 각각 다른 별칭을 지정할 수 있습니다.
이렇게하면 단일 쿼리 내에서 다른 목적으로 동일한 테이블을 사용할 수 있습니다.
하지만 성능에 영향을 미치지 않습니까? –
예, 테이블을 두 번 선택하면 작업량이 두 배가됩니다. 성능은 사용 방법, 조인 된 항목 및 쿼리 최적화 프로그램에서 사용할 수있는 인덱스와 통계에 따라 다릅니다. –
Chris의 쿼리에는 조인 조건 (암시 적 또는 명시 적)이 없기 때문에 데카르트 조인이 예상됩니다. 테이블의 모든 단일 행은 동일한 테이블의 모든 행과 연결되므로 테이블에 20 개의 행이 있으면 결과 집합은 400 행이됩니다! 이것은 두 배의 작업보다 훨씬 나 빠릅니다. 그러나 작업을 유발하는 것은 별칭이 아니며, 데카르트 조인입니다. –
- 1. T-SQL 테이블 이름 별칭
- 2. 레이크의 작업 이름 별칭
- 3. 아파치 별칭 "추측"파일 이름
- 4. 테이블의 변수 이름 만들기
- 5. AS (별칭)없이 여러 테이블을 선택 하시겠습니까?
- 6. Sybase 테이블의 여러 별명?
- 7. 레일즈 3 : meta_search의 속성 이름 별칭
- 8. 도메인 \ 별칭 콤보에서 표시 이름 가져 오기
- 9. 두 테이블의 동일한 인덱스 이름
- 10. 여러 테이블의 목록보기?
- 11. 여러 테이블의 행 계산
- 12. 한 사이트의 여러 도메인 : 별칭 또는 리디렉션?
- 13. SQL : 여러 SELECT 문에서 테이블 별칭 사용
- 14. SQL Server에서 별칭 생성
- 15. 다른 테이블의 필드에 나타나는 테이블의 이름 목록 쿼리
- 16. 여러 테이블의 필드가 일치하는 MySQL 테이블의 필드를 업데이트하십시오.
- 17. 테이블의 여러 행을 여러 조건과 일치 시키려면
- 18. JPA 동일한 테이블의 여러 FK
- 19. 테이블의 여러 개의 고유 카운터
- 20. SQLPlus - 여러 테이블의 함수 계산
- 21. 여러 테이블의 데이터를 테이블에 삽입
- 22. 여러 테이블의 SQL 합계 데이터
- 23. MySQL FULLTEXT 여러 테이블의 점수
- 24. 여러 테이블의 데이터를 확인해야합니다 ... 어떻게해야합니까?
- 25. 여러 테이블의 동일한 외래 키
- 26. Fluent Nhibernate 오라클 식별자 너무 긴 별칭 이름 문제
- 27. 조회 테이블의 ID에서 이름 표시 - 디자인 Q
- 28. 컬렉션에 개체를 추가 테이블의 ColumnCollection [이름]
- 29. SQL Server Express에서 테이블의 열 이름 암호화
- 30. 테이블의 기본 키 이름 가져 오기
왜 하시겠습니까? 작동하지 않는 특정 쿼리가 있습니까? –
그게 필요한거야? –
여러 역할에있는 자체 조인 또는 테이블. 후자의 예는 여러 날짜가있는 사실 테이블에 조인하는 날짜 차원 테이블 일 수 있습니다. – ConcernedOfTunbridgeWells