변수 'userid'가 있다고 가정 해 봅시다. aspnet_Membership 및 aspnet_AccountProfile 테이블 중에서 선택하고 싶습니다. 둘 다 컬럼 사용자 ID를 가지고 있습니다. SELECT * FROM aspnet_AccountProfile, aspnet_Membership WHERE UserId = @ UserId와 같은 명령문을 작성할 수 있기를 원하며 양쪽 테이블에 일치하는 사용자 ID를 가진 레코드를 가져옵니다. 어떻게해야합니까? 고맙습니다!두 테이블 모두에서 하나의 변수를 사용하여 두 테이블의 데이터를 가져 오는 방법은 무엇입니까?
답변
는 JOIN
:
정확히 당신이 원하는 데이터를 기반으로 조인의 몇 가지 기본 유형이 있습니다. 이것들은 집합 이론/관계 대수와 관련이 있습니다. 나는 가장 일반적인 나열됩니다 : 당신은 두 테이블이 일치하는 사용자 ID가 행의 가능한 모든 조합을 반환 할 때
INNER이
를 사용하여 가입하세요. 의 일부 행 테이블이 내부 조인에서 반환되지 않을 수도 있습니다.
SELECT * FROM aspnet_AccountProfile INNER JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
내부가 (당신이 조인 이해하려면 내가 권장하지 것이다) 가입 쓰는 또 다른 방법은 다음과 같습니다
물론SELECT * FROM aspnet_AccountProfile, aspnet_Membership
WHERE aspnet_AccountProfile.UserId = aspnet_membership.UserId
는, 추가, 당신이 원하는 특정 사용자 아이디를 선택 에 대한 조건 표 예 :
및 aspnet_AccountProfile.사용자 아이디 = @UserId
또는
및 aspnet_Membership.UserId = @UserId 그 두 가지 중 하나가 내부 조인을 위해 잘 작동합니다
.
LEFT OUTER은 쿼리의 첫 번째 테이블에서 모든 행을 반환 할 때
사용이 가입, 두 번째 테이블의 사용자 아이디가 첫 번째 일치하는 모든 조합. 두 번째 테이블 (이 경우 Membership)의 일부 행은 전혀 반환되지 않을 수 있습니다.
SELECT * FROM aspnet_AccountProfile LEFT JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
당신은이 경우에 기준을 좁힐 왼쪽 열을 사용하는, 또는 자동 가입 내부로 변환 얻을 것이다.
어디 aspnet_AccountProfile.UserId = @UserIdRIGHT OUTER는 LEFT 외부 조인으로는 일반적으로 기록 될 수 있기 때문, 비교적 드물다
가입. 이것은 왼쪽 외부 조인과 비슷하지만 관계의 두 번째 테이블에있는 모든 행이 첫 번째 조인 대신 반환됩니다.
SELECT * FROM aspnet_AccountProfile RIGHT JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
FULL OUTER 가입
사용이 당신은 회원의 해당 행에 AccountProfile에 일치하는 사용자 ID와 함께 모든 행을 연관해야 할뿐만 아니라 알 필요가 있다면 중에 행을 테이블은 다른 테이블과 일치하지 않습니다.
SELECT * FROM aspnet_AccountProfile FULL OUTER JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
단일 사용자에 대한 결과를 얻는 것은 FULL OUTER JOIN에서 조금 까다 롭습니다. 두 테이블 중 하나에서 NULL 또는 올바른 값을 사용하도록 지정해야합니다.
안녕,
당신이
를 사용하여 작업을 수행 할 수 있습니다 "SELECT * aspnet_AccountProfile AP에서 aspnet_Membership m WHERE ap.UserId = m.UserId ANB ap.UserId = @ UserId "
내부 결합으로이 작업을 수행 할 수 있습니다. 여기
는 예입니다,Select aspnet_Membership.*, aspnet_AccountProfile.* from aspnet_AccountProfile
inner join aspnet_Membership on aspnet_Membership.userid = aspnet_AccountProfile.userid
where [email protected]
이 사용자 ID가 모두 테이블에 공통 whem 만 기록을 얻을 것이다. 당신이 한 테이블에있는 레코드를 가져 싶은 또는 기타에 있지 않을 수 있습니다 경우
다음 사용자 왼쪽 당신이 가입 사용할 수 있습니다
Select aspnet_Membership.*, aspnet_AccountProfile.* from aspnet_AccountProfile
left join aspnet_Membership on aspnet_Membership.userid = aspnet_AccountProfile.userid
where [email protected]
입니다 가입해야합니다. 같은
뭔가 : 당신은 간단한 내부를 사용할 수 있습니다
Select * from aspnet_AccountProfile INNER JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
Where aspnet_AccountProfile.UserId = @UserId
감사합니다,
Vamyip
이를 위해 가입 할 수 있습니다. 라고
- 1. 하나의 변수를 사용하여 두 테이블의 정보를 검색하십시오.
- 2. 두 테이블의 데이터를 하나의 뷰로
- 3. mysql에서 두 테이블의 데이터를 사용하여 php5를 사용하여
- 4. 두 테이블에 합치 지 않고 데이터를 가져 오는 방법은 무엇입니까?
- 5. mysql에서 두 테이블의 데이터를 가져 오는 경우 여기서는 작동하지 않습니다.
- 6. 두 테이블에서 데이터를 가져 오는 쿼리
- 7. 두 개의 다른 테이블에서 하나의 테이블로 데이터를 가져 오는 중입니까?
- 8. 상황에 따라 두 테이블의 데이터를 결합하는 방법은 무엇입니까?
- 9. linq을 사용하여 두 테이블의 데이터를 가져 와서 결과를보기로 반환
- 10. SQL Server : 두 테이블에서 데이터를 가져 오는 수행 방법
- 11. 두 테이블의 필드가있는 테이블 만들기
- 12. 데이터베이스 테이블의 하위 테이블 목록을 가져 오는 방법은 무엇입니까?
- 13. 2 테이블의 데이터를 사용하여 하나의 테이블에 결합하는 방법은 무엇입니까?
- 14. ssas cube : 데이터를 가져 오는 방법은 무엇입니까?
- 15. 레일에서 하나의 모델로 작동하는 두 개의 테이블
- 16. 두 테이블에서 데이터를 가져 옵니까?
- 17. mysql에서 두 테이블의 데이터를 마찬가지로 찾습니다.
- 18. 하나의 where 절이있는 두 테이블의 조합
- 19. 첫 번째 테이블의 열 값은 두 번째 테이블의 열 이름을 참조합니다. 두 번째 테이블에서 값을 가져 오는 방법은 무엇입니까?
- 20. SQL 테이블의 열에서 XML 데이터를 가져 오는 방법은 무엇입니까?
- 21. 하나의 출력 파일에 두 테이블의 결과를 결합하는 방법은 무엇입니까?
- 22. 두 양식 간의 변수를 기억하는 방법은 무엇입니까?
- 23. 두 개의 SELECTS, 하나의 쿼리
- 24. 두 번째 테이블의 두 필드에서 테이블 조인을 수행하려면 어떻게합니까?
- 25. netbeans에서 콘솔에서 데이터를 가져 오는 방법은 무엇입니까?
- 26. 두 테이블의 많은 부울
- 27. jsf에서 HTMLDataTable의 데이터를 가져 오는 방법은 무엇입니까?
- 28. Doctrine - 하나의 쿼리로 두 테이블의 데이터 가져 오기
- 29. 테이블의 메소드 목록을 가져 오는 방법은 무엇입니까?
- 30. cssclass 선택기를 사용하여 테이블 개체를 가져 오는 방법은 무엇입니까?