나는 학생의 이름, 성, SID, 전공 및 사소한 것을 표시하려고합니다. 각 학생의 코스, CID 및 회의 시간은 물론. Bridge 테이블이 나를 혼란스럽게합니다. Idk는 Union 또는 Multi-Table Join을 수행할지 여부를 결정합니다. 도와주세요!SQL UNION/JOIN?
답변
SELECT *
FROM tblStudent AS s
LEFT OUTER JOIN tblRegistration AS r
ON s.SID = r.SID
LEFT OUTER JOIN tblCourse AS c
ON c.CID = r.CID
어떤 경우에는 내부 결합이 아니어야합니까? – Kendall
@Kendall은 학생이 항상 최소한 한 코스를 택합니까? 그렇다면 INNER JOIN이 될 수 있습니다. 연관된 과정이없는 학생이있을 수 있다면 LEFT JOIN을 사용해야합니다. 그렇지 않으면 그러한 학생은 결과 집합에 포함되지 않습니다. –
오라클 구문이 이후
SELECT stu.FirstName,
stu.LastName,
stu.Major,
stu.Minor,
reg.SID,
cou.CID,
cou.MeetingTime
FROM
tblStudent as stu,
tblRegistration as reg,
tblCourse as cou
WHERE
stu.SID(+) = reg.SID
and reg.CID = cou.CID
대신 직접 내가 당신에게 몇 가지 팁을 제공 할 것입니다 귀하의 질문에 대답의 숙제입니다.
정말로 UNION
과 JOINs
을 검토해야합니다.
UNION은 동일한 데이터 집합에서 반환 할 쿼리가 여러 개인 경우에 사용됩니다. 각 필드에는 비슷한 데이터 유형이 있어야하고 각 쿼리에는 동일한 개수의 필드가 있어야합니다. 따라서이 질문에 대해서는 UNION
을 사용하는 것이 맞습니까? 아마 당신이 한 줄에 학생과 코스를 원하기 때문에.
이 쿼리 유형에는 JOIN
이 필요합니다. 온라인에서 사용할 수있는 JOIN에 대한 유용한 시각적 설명이 있습니다. 나는 당신이 SQL을 공부하는 동안 당신을 도울 수 있도록 도와 주길 권한다.
A Visual Explanation of SQL Joins
당신이 학생 데이터와 자신의 코스 정보, 당신은 두 가지를 얻을 수있는 유일한 방법이 필요하기 때문에이 tblRegistration
을 사용하는 것입니다. 이 테이블을 사용하면 쿼리에서 원하는 결과를 얻어야합니다.
편집 : 주석 기가 두 번째 도면이 여기에 동의 UNION
아닌 JOIN
이라고 지적
때문에 그것을 증명하는 예입니다.
위에서 설명한대로 UNION
은 두 개의 쿼리를 단일 결과 집합으로 결합합니다. 조인 조건에 맞지 않는 왼쪽 또는 오른쪽 테이블의 행을 결과 집합에 포함되어 있는지
완전 외부 지정 가입 및 출력 열 : 여기에 A A UNION 데모와 sqlfiddle입니다 다른 테이블에 해당하는 값은 NULL
으로 설정됩니다. 이것은 일반적으로 INNER JOIN
에 의해 반환되는 모든 행에 추가됩니다. 당신이 두 쿼리의 제품은 동일하지 않습니다 볼 수 있듯이
그래서 다이어그램에서 FULL OUTER JOIN
가 UNION
되지 않습니다 : 여기에 FULL OUTER JOIN 데모와 sqlfiddle이다.
감사합니다 :)하지만 그 브리지 테이블을 통합하는 방법을 모르겠다 – Kendall
특정 질문이 있으십니까? 그러면 올바른 방향으로 당신을 가리킬 수 있습니다. – Taryn
@onedaywhen 내가 동의하지 않습니다. FULL OUTER JOIN은 UNION과 같지 않습니다. 이유는 무엇입니까? 또한이 시각적 설명은 저에게 씌여지지 않았으며 여기에 100 번 인용되었습니다. 그래서 기사 이름을 검색하면됩니다. 차이점을 보여주기 위해 참조로 사용했습니다. 그들이 동일하다고 생각한다면 이유를 설명하십시오. – Taryn
- 1. SQL - SQL 쿼리에서 SQL 쿼리 실행
- 2. SQL 2005에서 SQL 2008로 SQL 작업 전송
- 3. Linq-SQL-SQL Count
- 4. PL/SQL 동적 SQL
- 5. sql server sql case
- 6. SQL 서버에있는 sql 쿼리
- 7. SQL, Microsoft SQl
- 8. SQL 프로필러 SQL : BatchCompleted
- 9. SQL 연습용 SQL 데이터베이스
- 10. SQL 내가이 SQL 테이블이
- 11. SQL 서버 SQL 쿼리
- 12. 총계 SQL SQL 그룹
- 13. SQL 쿼리 최적화 SQL
- 14. SQL
- 15. SQL?
- 16. SQL -
- 17. SQL
- 18. SQL
- 19. SQL
- 20. SQL
- 21. Sql
- 22. SQL
- 23. SQL :.
- 24. SQL -
- 25. SQL -
- 26. SQL
- 27. SQL
- 28. SQL
- 29. SQL
- 30. SQL
두 방법을 모두 사용하여 쿼리를 만들려고 했습니까? 무엇을 찾으셨습니까? –
Yesss :)하지만 마지막 문제는 하하 야. 그 숫자가 아무 것도 계산하지 못하면 UNION을 만들려고했지만 대상 목록에 동일한 수의 표현식이 있어야한다고했습니다. – Kendall
외부의 도움을받을 수 있습니다. – Kendall