SQL Server 2005 의 외부 연결 용법

3901 단어 SQLServer2005외 련
SQL Server 2005 의 외부 연결 용법 1:
두 개의 표 가 있 습 니 다.학생 표,학생 선택 표,표 의 데 이 터 는 다음 과 같 습 니 다.
학생 표:

학생 선택 과목 표:

모든 학생 의 수강 신청 정 보 를 확인 하려 면
표준 SQL 문장

use stu_course
select L.sno,sname,ssex,sage,sdept,cno,grade
from student L,sc
where L.sno=sc.sno(*)
이론 적 결 과 는 다음 과 같다.

그러나 SQLServer 2005 에서 실행 하 는 중 오류 가 발생 할 수 있 습 니 다.오 류 는 다음 과 같 습 니 다.
메시지 102,레벨 15,상태 1,네 번 째 줄
'*'근처에 문법 오류 가 있 습 니 다. 
SQLServer 2005 에서 해당 하 는 T-SQL 문 구 는 다음 과 같 아야 합 니 다.

use stu_course
select L.sno,sname,ssex,sage,sdept,cno,grade
from student L left join sc
on L.sno=sc.sno
실행 결 과 는:

동시에 on 뒤에 where 한정 조건 도 추가 할 수 있다.

use stu_course
select L.sno,sname,ssex,sage,sdept,cno,grade
from student L left join sc
on L.sno=sc.sno
where L.sno in(95001,95002,95003,95004)

이 때 실행 결 과 는:
 
이상 의 이 예 는 왼쪽 외 연결 조회 입 니 다.즉,결과 표 에는 첫 번 째 표 에 있 는 모든 만족 조건 이 포함 되 어 있 습 니 다.
기록,두 번 째 표 에 연결 조건 을 만족 시 키 는 기록 이 있 으 면 해당 값 을 되 돌려 줍 니 다.그렇지 않 으 면 NULL 로 돌아 갑 니 다.
SQLServer 2005 의 외부 연결 조회 용법(계속):
세 가지 표 가 있 습 니 다.학생 표,학생 선택 시간표,과정 표,표 의 데 이 터 는 다음 과 같 습 니 다.
학생 표:

학생 선택 과목 표:

교과 과정 표:

 왼쪽 연결 조회 예:

use stu_course
select L.sno,sname,ssex,sage,sdept,cno,grade
from student L left join sc
on L.sno=sc.sno

결 과 는:

오른쪽 연결 조회 예:

use stu_course
select sno,course.cno,course.cname
from sc right join course
on sc.cno=course.cno

결 과 는:

전 외 연결 조회 예:

use stu_course
select sno,course.cno,course.cname
from sc full join course
on sc.cno=course.cno

결 과 는:

이 전 외연 중 좌우 두 개의 시 계 를 교환 하면:

use stu_course
select sno,course.cno,course.cname
from course full join sc
on sc.cno=course.cno

결 과 는 여전히:

이상 의 예 에서 볼 수 있다.
       왼쪽 외 연결 에 대해 결과 표 에는 첫 번 째 표 에 있 는 모든 만족 조건 의 기록 이 포함 되 어 있 습 니 다.두 번 째 표 에 연결 조건 을 만족 시 키 는 기록 이 있 으 면 해당 하 는 값 을 되 돌려 줍 니 다.그렇지 않 으 면 NULL 로 돌아 갑 니 다. 
       오른쪽 연결 에 대해 결과 표 에는 두 번 째 표 에 있 는 모든 만족 조건 의 기록 이 포함 되 어 있 으 며,첫 번 째 표 에 연결 조건 을 만족 시 키 는 기록 이 있 으 면 해당 하 는 값 을 되 돌려 줍 니 다.그렇지 않 으 면 NULL 로 돌아 갑 니 다. 
       전 외 연결 에 대해 결과 표 에는 두 개의 표 에 있 는 모든 만족 조건 의 기록 이 포함 되 어 있 으 며,그 중의 한 표 에 연결 조건 을 만족 시 키 는 기록 이 있 으 면 해당 하 는 값 을 되 돌려 줍 니 다.그렇지 않 으 면 NULL 로 돌아 갑 니 다.

좋은 웹페이지 즐겨찾기