>백엔드 개발 >PHP 문제 >PHP 다중 테이블 쿼리 하위 쿼리 문

PHP 다중 테이블 쿼리 하위 쿼리 문

藏色散人
藏色散人원래의
2020-08-07 09:57:482315검색

php sql 하위 쿼리 문은 먼저 문을 통해 결과를 쿼리한 다음 "select max(goods_id),cat_id,goods_name from products group by cat"과 같은 쿼리 문을 통해 결과에서 다시 쿼리하는 것입니다.

PHP 다중 테이블 쿼리 하위 쿼리 문

Recommendation: "PHP Video Tutorial"

소위 하위 쿼리 문은 먼저 명령문을 통해 결과를 쿼리한 다음 쿼리 문을 통해 결과를 다시 쿼리하는 것입니다. 일반적으로 하위 쿼리 문에는 세 가지 유형이 있습니다. 사례를 들어 설명해보자.

사례: [예1]의 각 카테고리별 최신 제품정보를 조회해보세요.

한 문장으로 쿼리하면 얻을 수 없습니다. 다음은 잘못된 내용입니다.

select max(goods_id),cat_id,goods_name from 상품 그룹 by cat_id;

이런 방식으로 각 카테고리의 최신 상품 ID 번호인 상품_id를 가져오지만, 기타 정보는 다음과 같습니다. asgoods_name 상품명은 기존 상품명입니다. 따라서 카테고리별 최신 상품 정보를 얻으려면 별도로 질의를 하거나, 하위 질의를 이용해야 합니다.

1: where 하위 쿼리 문.

select * from products where products_id in ( select max(goods_id) from products group by cat_id);

이 코드에서는 먼저 그룹별을 사용하여 각 카테고리의 최신 제품 ID를 쿼리합니다. where...in() 조건문을 통해 카테고리별 최신 상품ID의 상품정보를 조회한다. 다음은 where의 하위 쿼리 문인 문별 그룹입니다.

2: 하위 쿼리 문에서.

select * from (select * from products order by cat_id,goods_id desc) as gk group by cat_id;

From subquery는 굵게 표시된 것처럼 선택 쿼리의 결과를 테이블로 사용하는 것입니다. 위의 코드. 참고: select로 쿼리한 결과 집합에는 위 코드의 빨간색 부분과 같은 별칭이 제공되어야 합니다. 그렇지 않으면 오류가 보고됩니다.

이런 방식으로 각 카테고리별 최신 제품 정보도 조회하고 있습니다.

3: 존재 하위 쿼리 문:

제목: [예제 1] 어느 열에 제품이 있는지 쿼리합니다. 카테고리 테이블 이름: 카테고리

select * from Category where presents( select * from Goods where products.cat_id=category.cat_id )

이전 문장의 존재를 체크한 경우( 상품 테이블 = 카테고리 테이블의 카테고리 ID), 상품이 있는지 여부. 존재하는 경우 해당 카테고리의 정보를 조회합니다. 존재하지 않는 경우 해당 카테고리를 제외합니다. 최종 결과는 해당 상품의 상품분류정보를 조회하는 것이다.

여기서는 일반적으로 사용되는 세 가지 mysql 데이터베이스 하위 쿼리 문인 where subquery 문, from subquery 문 및 presents 하위 쿼리 문을 소개합니다. 물론 하위 쿼리 문을 사용하지 않으려면 두 개의 문으로 분할하여 실행할 수도 있으며 효과는 동일합니다.

위 내용은 PHP 다중 테이블 쿼리 하위 쿼리 문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.