php mysql 쿼리문은 다음과 같이 작성됩니다: [select * from products where products_id in (select max(goods_id) from products group by cat_id);].
서브 쿼리문이라 불리는 것은 먼저 명령문을 통해 결과를 쿼리한 다음 쿼리문을 통해 그 결과를 다시 쿼리하는 것입니다. 일반적으로 하위 쿼리 문에는 세 가지 유형이 있습니다. 사례를 들어 설명해보자.
(추천 동영상 튜토리얼: php 동영상 튜토리얼)
사례: [예시 1]의 각 카테고리별 최신 제품 정보를 조회해보세요.
한 문장으로 쿼리하면 얻을 수 없습니다. 다음은 잘못된 내용입니다.
select max(goods_id),cat_id,goods_name from goods group by cat_id;
이렇게 하면 각 카테고리의 최신 상품 ID 번호인 products_id를 얻을 수 있지만, 상품 이름 등 기타 정보는 이전 정보입니다. 따라서 카테고리별 최신 상품 정보를 얻으려면 별도로 질의를 하거나, 하위 질의를 이용해야 합니다.
1. 하위 쿼리 문.
select * from goods where goods_id in ( select max(goods_id) from goods group by cat_id);
이 코드에서는 먼저 group by를 사용하여 각 카테고리의 최신 제품 ID를 쿼리한 다음 where...in() 조건문을 사용하여 각 카테고리의 최신 제품 ID에 대한 제품 정보를 쿼리합니다. 다음은 where의 하위 쿼리 문인 문별 그룹입니다.
2. 하위 쿼리 문에서.
select * from (select * from goods order by cat_id,goods_id desc) as gk group by cat_id;
하위 쿼리에서 위의 굵은 코드와 같이 선택 쿼리의 결과를 테이블로 사용하는 것입니다. 참고: select로 쿼리한 결과 집합에는 위 코드의 빨간색 부분과 같은 별칭이 제공되어야 합니다. 그렇지 않으면 오류가 보고됩니다.
이런 식으로 각 카테고리별 최신 제품 정보도 조회하고 있습니다.
3. 하위 쿼리 문이 있습니다.
제목: 어떤 열에 제품이 있는지 쿼리합니다. 카테고리 테이블 이름 : 카테고리
select * from category where exists( select * from goods where goods.cat_id=category.cat_id )
앞 문장에 존재하는 것을 체크하면 (상품 테이블의 카테고리 ID = 카테고리 테이블의 카테고리 ID일 때) 상품이 있나요? 존재하는 경우 해당 카테고리의 정보를 조회합니다. 존재하지 않는 경우 해당 카테고리를 제외합니다. 최종 결과는 해당 상품의 상품분류정보를 조회하는 것이다.
자, 여기에서는 일반적으로 사용되는 세 가지 mysql 데이터베이스 하위 쿼리 문, 즉 where 하위 쿼리 문, from 하위 쿼리 문, 그리고 presents 하위 쿼리 문을 소개합니다. 물론 하위 쿼리 문을 사용하지 않으려면 두 개의 문으로 분할하여 실행할 수도 있으며 효과는 동일합니다.
관련 권장 사항: php training
위 내용은 php mysql 쿼리문 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!