하위 쿼리의 기본 의미는 쿼리 문(select 문) 내의 특정 위치에 나타나는 "쿼리 문"입니다. 이 기사에서는 모든 사람에게 도움이 되기를 바라며 주로 mysql 하위 쿼리에 대한 간략한 소개를 공유합니다.
예:
수정 후:
"
select 5000
"의 하위 쿼리문을 "모든 제품의 평균 가격을 선택하세요"로 바꾸면 실용적인 의미를 갖게 됩니다.
하위 쿼리는 메인 쿼리를 제공합니다
메인 쿼리는 서브 쿼리가 특정 결과 데이터를 얻은 후에만 실행됩니다.
형식에서는 다음과 같이 표현할 수 있습니다.
select 필드 또는 표현식 또는 테이블 이름이나 링크 결과의 하위 쿼리 또는 하위 쿼리
의 필드나 표현식 또는 조건부 판단이 있는 하위 쿼리, 즉 하위 쿼리가 이러한 위치에 나타날 수 있습니다(그 중에서 동일한 의미를 갖기 때문에 실제로 작동합니다).
하위 쿼리, 위치(경우)로 구분:
유형 | 양식 |
---|---|
메인 쿼리의 결과 데이터로 | c1 선택,(탭2에서 f1 선택) as f11 from tab1; #여기 하위 쿼리에는 하나의 데이터만 있어야 합니다(행 1개, 열 1개, 스칼라 하위 쿼리) |
기본 쿼리의 조건부 데이터로 | select c1 from tab1 where c1 in( tab2에서 f1 선택) ); #여기서 하위 쿼리는 여러 데이터(여러 행과 하나의 열, 열 하위 쿼리)일 수 있습니다 |
메인 쿼리의 소스 데이터로 | select c1 from (f1을 c1로, f2를 tab2로 선택) as t2 ; #여기서 하위 쿼리는 모든 쿼리 결과일 수 있습니다(테이블 하위 쿼리) |
비교 연산자의 하위 쿼리
형식:
피연산자 비교 연산자(스칼라 하위 쿼리);
설명:
피연산자는 실제로 비교입니다. 이는 둘 중 하나일 뿐입니다. 데이터 연산자는 일반적으로 필드 이름입니다.
가장 높은 항목을 찾습니다.
select .... from XXX where id > 5;
아아아아하위 쿼리의 내용은 다음과 같습니다.
select * from product where price = (select max(price) from product );
XX in (值1,值2,值3,....);
모든 하위 쿼리를 사용하세요.
아아아아
의미:특정 피연산자(필드)가 열 하위 쿼리의 모든 값에 대해 비교 연산자를 만족하면 이를 만족하는 것으로 간주됩니다.
예:
XX in (列子查询)
형식:
select * from product where protype_id in( select protype_id from product_type where protype_name like ‘%电%’ );
예:열 하위 쿼리의 모든 데이터 값에 대해 특정 피연산자(필드)가 모두 비교 연산자가 만족되는 경우에만 조건이 만족됩니다.
操作数 比较运算符 any (列子查询);
exists를 사용한 쿼리
select * from tab1 where id > any (select f1 from tab2);
설명:하위 쿼리에 "데이터가 있음"이면 존재 결과는 true이고, 그렇지 않으면 false입니다.
실제 응용 프로그램에서 이 하위 쿼리는 독립적인 하위 쿼리가 아닌 경우가 많지만 "기본 쿼리"의 데이터 소스(테이블)와 특정 관계(일반적으로 연결 관계)를 설정해야 합니다. 설정 방법은 "암시적"입니다. 즉, 관계가 코드에 반영되지 않지만 내부적으로 연결의 "실질"이 있습니다.
이 암시적 연결 방법은 일반적으로 기본 쿼리 테이블의 데이터(필드)를 사용하여 하위 쿼리의 where 조건문에 반영됩니다.
예:
- 이러한 종류의 하위 쿼리 문은 "독립적으로 존재(독립적으로 실행)"할 수 없지만 기본 쿼리와 함께 사용해야 합니다.
- 다른 하위 쿼리는 독립적으로 실행될 수 있으며 실행 결과를 얻습니다.
- 이 하위 쿼리의 조건은 메인 쿼리의 특정 필드와 일정한 상관 관계를 갖도록 설정되어야 합니다. 일반적으로 이 판단은 두 테이블의 "원래 연결 조건"입니다.
쿼리 요구 사항인 경우 조인 쿼리나 하위 쿼리를 사용하여 얻을 수 있으므로 일반적으로 더 효율적인 조인 보간을 사용하는 것이 좋습니다.
관련 권장 사항:
MySQL 하위 쿼리에 대한 자세한 소개
mysql 하위 쿼리란 무엇입니까? 하위 쿼리를 사용하여 필터링하는 방법은 무엇입니까?
MySQL 하위 쿼리 최적화
위 내용은 mysql 서브쿼리에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!