SQL 언어 조회 기초:연결 조회 연합 조회 코드

SQL 언어 검색 기초:연결 검색  연산 자 를 연결 하면 여러 개의 표 조 회 를 실현 할 수 있다.연결 은 관계 데이터베이스 모델 의 주요 특징 이자 다른 유형의 데이터베이스 관리 시스템 과 구별 되 는 표지 이다.  관계 데이터베이스 관리 시스템 에서 표 가 구 축 될 때 각 데이터 간 의 관 계 는 확정 할 필요 가 없고 한 실체의 모든 정 보 를 한 표 에 저장한다.데 이 터 를 검색 할 때 연결 작업 을 통 해 여러 표 에 저 장 된 서로 다른 실체의 정 보 를 조회 합 니 다.연결 작업 은 사용자 에 게 매우 큰 유연성 을 가 져 다 주 고 그들 은 언제든지 새로운 데이터 유형 을 추가 할 수 있다.서로 다른 실 체 를 위해 새 표를 만 든 후 연결 을 통 해 조회 합 니 다.  연결 은 Select 에서 할 수 있 습 니 다. 문장의 FROM 자구 나 Where 자구 에 세 워 진 것 은 FROM 자구 에서 연결 을 지적 할 때 연결 작업 과 Where 자구 의 검색 조건 을 구분 하 는 데 도움 이 되 는 것 같 습 니 다.그래서 Transact-SQL 에 서 는 이런 방법 을 추천 합 니 다.  SQL-92 표준 에서 정의 하 는 FROM 자구 의 연결 문법 형식 은 다음 과 같 습 니 다.  FROM join_table join_type join_table  [ON (join_condition)]  그 중 jointable 은 연결 작업 에 참여 하 는 표 이름 을 지적 합 니 다.연결 은 같은 표 에 대해 서도 조작 할 수 있 고 여러 표 에 대해 서도 조작 할 수 있 으 며 같은 표 작업 에 대한 연결 을 자체 연결 이 라 고도 합 니 다.  join_type 연결 유형 을 가리 키 며 세 가지 로 나 눌 수 있 습 니 다.내부 연결(INNER) JOIN):비교 연산 자 를 사용 하여 표 간 의 특정한(일부)열 데 이 터 를 비교 하고 이 표 들 에서 연결 조건 과 일치 하 는 데이터 줄 을 보 여 줍 니 다.사용 하 는 비교 방식 에 따라 내부 연결 은 등가 연결,자연 연결 과 부 등 연결 세 가지 로 나 뉜 다.외부 연결:왼쪽 외부 연결(LEFT) OUTER JOIN 혹은 LEFT JOIN),오른쪽 연결(오른쪽) OUTER 조인 혹은 라이트 JOIN)과 전 외 연결(FULL) OUTER JOIN 혹은 FULL 조인)세 가지.내부 연결 과 달리 외부 연결 은 연결 조건 과 일치 하 는 줄 만 표시 하 는 것 이 아니 라 왼쪽 표(왼쪽 외부 연결 시),오른쪽 표(오른쪽 외부 연결 시)또는 두 표(전체 외부 연결 시)중 검색 조건 에 맞 는 모든 데이터 줄 을 표시 합 니 다.교차 연결(CROSS) 조인):어디 없어 요. 자 구 는 연결 표 의 모든 데이터 줄 의 피리 칼 적 을 되 돌려 줍 니 다.그 결과 집합 중의 데이터 줄 수 는 첫 번 째 표 에서 조회 조건 에 부합 되 는 데이터 줄 수 를 두 번 째 표 에서 조회 조건 에 부합 되 는 데이터 줄 수 를 곱 합 니 다.  연결 작업 중인 ON (join_condition) 자 구 는 연결 조건 을 지적 하 는데 연결 표 의 열 과 비교 연산 자,논리 연산 자 등 으로 구성 된다.  어떤 연결 이 든 text,ntext,image 데이터 형식 열 을 직접 연결 할 수 없 지만 이 세 가지 열 을 간접 적 으로 연결 할 수 있 습 니 다.예 를 들 면:  Select p1.pub_id,p2.pub_id,p1.pr_info  FROM pub_info AS p1 INNER JOIN pub_info AS p2  ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info)   (1)내부 연결  내부 연결 조회 작업 은 연결 조건 과 일치 하 는 데이터 줄 을 보 여 줍 니 다.연결 되 어 있 는 열 값 을 비교 연산 자 를 사용 합 니 다.내부 연결 은 세 가지 로 나 뉜 다.  1.등가 연결:연결 조건 에서 같은 번호(=)연산 자 를 사용 하여 연 결 된 열 값 을 비교 합 니 다.검색 결과 에 연 결 된 표 의 모든 열 을 표시 합 니 다.그 중의 중복 열 을 포함 합 니 다.  2.서로 다른 연결: 연결 조건 에서 연산 자 를 제외 한 다른 비교 연산 자 를 사용 하여 연 결 된 열 값 을 비교 합 니 다.이 연산 자 들 은>,>=,<=,<,!>,!<화해시키다  3.자연 연결:연결 조건 에서(=)연산 자 를 사용 하여 연 결 된 열 값 을 비교 하지만 선택 목록 을 사용 하여 조회 결과 집합 에 포 함 된 열 을 가리 키 고 연결 표 의 중복 열 을 삭제 합 니 다.  예 를 들 어,다음은 같은 값 으로 authors 와 Publishers 표 에서 같은 도시 에 있 는 작가 와 출판 사 를 연결 합 니 다.  Select *  FROM authors AS a INNER JOIN publishers AS p  ON a.city=p.city   또한 자연 연결 을 사용 하면 선택 목록 에서 authors 를 삭제 합 니 다. 출판사 표 의 반복 열(city 와 state):  Select a.*,p.pub_id,p.pub_name,p.country  FROM authors AS a INNER JOIN publishers AS p  ON a.city=p.city   (2)외부 연결  내부 연결 시 검색 결과 집합 으로 돌아 가 는 것 은 검색 조건 에 만 부합 합 니 다( Where 검색 조건 또는 HAVING 조건)과 연결 조건 의 줄.외부 연결 을 사용 할 때 검색 결과 집합 으로 돌아 가 는 것 은 연결 조건 에 맞 는 줄 뿐만 아니 라 왼쪽 표(왼쪽 외부 연결 시),오른쪽 표(오른쪽 외부 연결 시)또는 두 개의 연결 표(전체 외부 연결)의 모든 데이터 줄 도 포함한다.  아래 에서 왼쪽 외부 연결 을 사용 하여 포럼 내용 과 작가 정 보 를 연결 합 니 다.  Select a.*,b.* FROM luntan LEFT JOIN usertable as b  ON a.username=b.username   다음은 city 표 의 모든 작성 자 와 user 표 의 모든 작성 자,그리고 그들 이 있 는 도 시 를 외부 로 연결 합 니 다.  Select a.*,b.*  FROM city as a FULL OUTER JOIN user as b  ON a.username=b.username   (3)교차 연결  교차 연결 자 구 는 연 결 된 두 표 의 모든 데이터 줄 의 피리 칼 적 을 되 돌려 주 고 결과 집합 에 있 는 데이터 줄 수 는 첫 번 째 표 에서 조회 조건 에 부합 되 는 데이터 줄 수 를 두 번 째 표 에서 조회 조건 에 부합 되 는 데이터 줄 수 를 곱 합 니 다.  예 를 들 어 titles 표 에는 6 가지 도서 가 있 고 Publishers 표 에는 8 개의 출판사 가 있 으 며 다음 과 같은 교차 연결 검색 기록 수 등 이 있다.  6*8=48 줄 입 니 다.  Select type,pub_name  FROM titles CROSS JOIN publishers  orDER BY type  SQL 언어 검색 기초:공동 검색  UNION 연산 자 는 두 개 이상 의 셀 렉 트 문장의 조회 결 과 를 하나의 결과 집합 으로 합 쳐 표시 할 수 있 으 며,즉 공동 조 회 를 실행 할 수 있다.UNION 의 문법 형식 은 다음 과 같 습 니 다.  select_statement  UNION [ALL] selectstatement  [UNION [ALL] selectstatement][…n]  그 중에서 selectstatement 은 연 결 된 Select 조회 문 입 니 다.  ALL 옵션 은 모든 줄 을 결과 집합 에 통합 하 는 것 을 표시 합 니 다.이 항목 을 지정 하지 않 으 면 연합 조회 결과 집합 에 있 는 중복 줄 은 한 줄 만 남 습 니 다.  연합 조회 시 조회 결과 의 열 제목 은 첫 번 째 조회 문장의 열 제목 이다.따라서 열 제목 을 정의 하려 면 첫 번 째 검색 어 에서 정의 해 야 합 니 다.공동 조회 결 과 를 정렬 하려 면 첫 번 째 조회 문 에 있 는 열 이름,열 제목 또는 열 번 호 를 사용 해 야 합 니 다.  UNION 을 사용 하고 있 습 니 다. 연산 자 를 사용 할 때,모든 연합 검색 어의 선택 목록 에 같은 수량의 표현 식 이 있 고,모든 검색 선택 표현 식 은 같은 데이터 형식 을 가지 거나,자동 으로 같은 데이터 형식 으로 변환 할 수 있 도록 해 야 한다.자동 변환 시 수치 유형 에 대해 시스템 은 낮은 정밀도 의 데이터 형식 을 높 은 정밀도 의 데이터 형식 으로 변환 합 니 다.  여러 검색 어 를 포함 하 는 UNION 문 구 는 왼쪽 에서 오른쪽으로 괄호 를 사용 하면 실행 순 서 를 바 꿀 수 있다.예 를 들 면:  조회 1 UNION (조회 2 UNION 조회 3)

좋은 웹페이지 즐겨찾기