>  기사  >  데이터 베이스  >  SQL Server 다중 테이블 공동 쿼리 및 다중 테이블 페이징 쿼리 방법(코드 예)

SQL Server 다중 테이블 공동 쿼리 및 다중 테이블 페이징 쿼리 방법(코드 예)

不言
不言앞으로
2019-01-12 11:23:5910057검색

이 문서의 내용은 SQL Server 다중 테이블 공동 쿼리 및 다중 테이블 페이징 쿼리 방법에 대한 것입니다. 필요한 참조 값이 있으면 좋습니다. 도움이 됩니다.

다중 테이블 공동 쿼리:

select p.*,s.Sheng , i.Shi
from  [dbo].[ProductRecordInfo]   --表名 
p left join [ShengInfo] s on p.ShengInfo = s.ShengId   --使用left join左连接 让两个表中的指定字段产生连接关系
left join [ShiInfo] i on p.ShiInfo = i.ShiId          --使用left join左连接 让三个表中的指定字段产生连接关系

여기의 내용은 where와 유사하며, 다음 조건은 직접 작성 가능합니다. (추천 과정: MySQL tutorial)

실행 결과는 다음과 같습니다.

Paging SQL 문:

번호 매기기에 row_number() 함수 사용

select * from (select ROW_NUMBER() over (order by Id ASC) as IDD ,*from ProductRecordInfo) a where a.IDD>=1 and a.IDD<=3

첫 번째 정렬 후 각 데이터에 번호를 매깁니다.

이 문에서 ROW_NUMBER() 함수는 SELECT 문에서 반환된 각 행에 1부터 시작하여 번호를 매기고 연속된 번호를 부여합니다. 쿼리 중에 정렬 기준을 적용한 후에는 번호 매기기를 통해서만 순서의 일관성을 보장할 수 있습니다. ROW_NUMBER 함수를 사용할 때 번호 매기기를 용이하게 하기 위해 사전 정렬을 위한 특수 열도 필요합니다

실행 결과는 다음과 같습니다.

마지막으로 ADO를 사용하여 페이징 기능을 표시하려면 다중 테이블 조인 쿼리를 페이징과 결합해야 합니다. 스플라이싱 문은 다음과 같습니다.

select * from(
   select *, ROW_NUMBER() OVER(order by Id asc) row from 
     (select p.*,s.Sheng,i.Shi,a.PinPai 
from  [dbo].[ProductRecordInfo] 
p left join [ShengInfo] s on p.ShengInfo = s.ShengId 
left join [ShiInfo] i on p.ShiInfo = i.ShiId 
left join[dbo].[PinPaiInfo] a on p.PinPaiInfo=a.Aid)t1)t2 
where t2.Row between 1 and 3

결과는 다음과 같습니다.

참고: 데이터베이스의 여러 테이블에 대해 공동 쿼리를 수행할 때 이러한 SQL 키워드를 반드시 사용합니다. 차이점을 이해하지 못하면 작성할 수 없습니다. 우리 프로젝트에 필요한 쿼리 조건.

위 내용은 SQL Server 다중 테이블 공동 쿼리 및 다중 테이블 페이징 쿼리 방법(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제