사용자가 로그인하면 포럼 메뉴 아래에 두 개의 링크가 더 있습니다 : 내가 게시 한 테마와 내가 참여하는 테마. 전자의 쿼리는 더 간단합니다. 테마 게시물과 답장 스티커는 각 레코드가 하나의 필드로 구별됩니다. 우리는 일반적으로 답장이 공개되면 제목을 생략 할 수 있습니다. 이 쿼리는 어떻게 했습니까?
먼저 움직이는 네트워크의 코드를 살펴 보겠습니다.
다음은 코드 조각입니다.
TopicId에서 (TopicID에서 탑 200 *에서 상위 200 *를 선택하십시오.
이 쿼리에 왜 작은 괄호가 있습니까? 무슨 뜻입니까? 그리고 분해를 듣습니다.
우리가 일반적으로 사용하는 쿼리는 단일 층 쿼리이지만 위의 쿼리는 서버가 최종 쿼리 작업을 처리하기 전에 결과를 형성해야합니다. 즉, 먼저 작은 브래킷에서 쿼리를 실행 한 다음 서버는 외부 쿼리를 수행하고 올바른 결과를 반환합니다. 위의 쿼리, 첫 번째 쿼리 계층은이 버전의 사용자가 게시 한 모든 게시물 (답장 포함)을 확인한 다음이 스티커의 테마를 확인하는 것입니다.
위의 기능 외에도 중첩 쿼리의 이점은 무엇입니까? 검색 조건 (분석 통계에 종종 사용됨)에서 통계적 함수를 사용하기 위해 통계 함수가 필요한 경우 중첩 쿼리를 사용할 수 있습니다. 예를 들어, 모든 판매량이있는 책이있는 책의 코드는 이제 다음 쿼리 방법으로 작성됩니다.
select title_id, Qty // title_id는 책 번호, Qty is sales
판매에서
Qty> avg (Qty) // avg는 평균 함수, avg (Qty)는 평균 판매량입니다.
SELECT 목록의 데이터의 통계 기능이 WHERE 절에서 허용되지 않기 때문에 서버가 오류를 유발합니다. WHER 절에서 중첩 쿼리를 사용하면이 문제가 해결 될 수 있습니다.
다음은 코드 조각입니다.
Title_id, Qty를 선택하십시오
판매에서
어디서 수량>
(영업에서 AVG (수량) 선택)