>  기사  >  데이터 베이스  >  MySQL 하위 쿼리에 대한 자세한 소개

MySQL 하위 쿼리에 대한 자세한 소개

零下一度
零下一度원래의
2017-07-23 11:22:152724검색

MySQL은 스웨덴 회사인 MySQLAB가 개발한 관계형 데이터베이스 관리 시스템으로 현재 Oracle의 제품입니다. MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리 시스템 중 하나입니다. 웹 애플리케이션 측면에서 MySQL은 최고의 RDBMS(관계형 데이터베이스 관리 시스템) 애플리케이션 소프트웨어입니다.

MySQL 하위 쿼리에 대한 자세한 소개

MySQL은 버전 4.1부터 하위 쿼리 기능을 지원했습니다. 이 버전 이전에는 Join을 사용하여 대신 테이블 쿼리를 작성할 수 있지만 작성하는 것은 권장되지 않습니다. 꽤 번거롭습니다. 다음은 mysql 하위 쿼리를 작성하는 몇 가지 일반적인 방법입니다.

 1.select*fromxxxwherecol=[any|all](select*fromxxxx);

 이 구문은 키워드를 사용하여 작성하는 방법과 키워드 없이 작성하는 방법으로 나눌 수 있습니다.

키워드가 추가되지 않은 경우

  하위 쿼리 문은 이산 값

 을 반환합니다(1임에 유의하세요). 쿼리 문은 하위 쿼리 문의 결과를 쿼리할 자체 where 절의 조건으로 사용합니다. 하위 쿼리 앞에 any, all, presents 및 기타 키워드를 추가하는 데 사용됩니다. 이때 하위 쿼리 문은 일련의 이산 값을 반환합니다. any는 쿼리

가 하위 쿼리에서 반환된 값을 범위로 기반으로 하며 이 값 범위 내에서 쿼리가 수행된다는 의미입니다. 이는 all 키가 이해하기 쉽지 않다는 의미입니다. 모든 경기 또는 뭔가.

 2.select*fromxxxwherecolin(select*fromxxxx);

이 구문은 매우 명확합니다. 즉, 쿼리 문의 where 절은 하위 쿼리 문의 결과를 범위로 사용합니다. 이전 구문.

 3.selectrow(value1,value2.....)=[any](selectcol1,col2..);

 이 문의 실행 본질은 다음과 같습니다.

 서브 쿼리문의 실행 결과와 쿼리 집합 일치의 결과,

  일치하는 항목을 찾을 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환하며 양쪽의 결과 집합은 이산 값의 집합입니다.

 4.select....wherecol=[not]exists(select...);

 이 문은 다소 형편없고 실행은 다음과 같습니다. 하위 쿼리가 작동하고 결과를 반환할 때 이 문만 실행되며 결과가 있는 만큼 해당 명령문이 실행됩니다.

 5.select...from(select....)asnamewhere......

 이 구문은 일상생활에서 거의 사용되지 않으며 이해하기 쉽지 않습니다. 실제로는 이렇습니다. 본문의 쿼리로 사용되는 하위 쿼리 실행 결과(이 테이블은 파생 데이터 테이블, 가상 테이블)를 통해 새로운 테이블이 생성됩니다.

 이 구문은 다음과 같습니다. 매우 강력하며 일부 복잡한 쿼리에 자주 사용됩니다.

편집자의 결론:

하위 쿼리는 매우 편리하지만 제한 사항을 지원하지 않으며 실험 결과 실행 효율성이 상당히 만족스럽지 못한 것으로 나타났습니다.

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

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