> 데이터 베이스 > MySQL 튜토리얼 > mysql 하위 쿼리문에 대한 자세한 설명

mysql 하위 쿼리문에 대한 자세한 설명

PHPz
풀어 주다: 2023-04-19 14:43:38
원래의
3660명이 탐색했습니다.

MySQL은 데이터 저장 및 관리에 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. MySQL에서 하위 쿼리는 일반적인 명령문 형식입니다. 이 기사에서는 MySQL의 하위 쿼리 문을 소개하고 독자가 하위 쿼리를 더 잘 이해하고 사용하는 데 도움이 되는 몇 가지 예를 제공합니다.

1. 하위 쿼리란 무엇입니까

하위 쿼리는 다른 쿼리 내에 포함된 쿼리 문으로, 일반적으로 SELECT, INSERT, UPDATE 또는 DELETE 문에 중첩됩니다. MySQL에서는 하위 쿼리가 쿼리의 일부로 실행될 수 있으며 검색 조건이나 계산된 항목을 제공할 수 있습니다. 하위 쿼리는 쿼리를 더욱 유연하고 정확하며 효율적으로 만들 수 있는 매우 강력한 명령문 형식입니다. 하위 쿼리는 여러 수준으로 중첩될 수 있지만 쿼리를 너무 복잡하게 만들지 않도록 주의하세요.

2. 하위 쿼리 구문

MySQL의 하위 쿼리 구문은 표현식 하위 쿼리와 SELECT 하위 쿼리의 두 가지 유형으로 나눌 수 있습니다.

  1. 표현식 하위 쿼리 구문:

SELECT … FROM … WHERE 컬럼 이름 연산자(SELECT 컬럼 이름 FROM 테이블_이름 WHERE 조건);

이 구문에서 상수와 필드 이름 사이의 연산자는 같음, 같지 않음, 작음일 수 있습니다. , 보다 큼 등 또한 하위 쿼리의 결과에는 행과 열이 하나만 있어야 하며, 그렇지 않으면 오류가 반환됩니다. 동시에 하위 쿼리를 사용하여 결과 집합의 최대값, 최소값, 합계 및 평균을 쿼리할 수도 있습니다.

  1. SELECT 하위 쿼리 구문:

SELECT 컬럼 이름1, 컬럼 이름2, … FROM table_name WHERE 컬럼_이름 연산자(SELECT 컬럼 이름 FROM 테이블_이름 WHERE 조건);

이 구문에서는 SELECT 하위 쿼리가 외부 쿼리 중간의 WHERE 절에 추가됩니다. . 하위 쿼리는 단일 값을 반환해야 하며, 그렇지 않으면 오류가 반환됩니다. 또한 SELECT 하위 쿼리는 WHERE 절에서 모든 유형의 비교 작업을 수행할 수 있습니다.

3. 하위 쿼리의 예

다음 예에서는 MySQL의 하위 쿼리 사용법을 보여줍니다.

  1. 학급 평균보다 점수가 높은 모든 학생의 정보를 조회합니다.

SELECT 학생 ID, 학생 이름, 점수 FROM 학생 WHERE 점수 > (SELECT AVG(점수) FROM 학생);

이 명령문에서는 먼저 학생 테이블에서 각 학생의 학생 ID, 이름 및 점수를 쿼리한 다음 pass 하위 쿼리는 학급의 평균 점수를 계산하고 평균 점수를 각 학생의 점수와 비교합니다. 결국 적격 학생 정보가 반환됩니다.

  1. 직원 연봉이 평균 연봉보다 높은 부서명과 해당 부서의 평균 연봉을 쿼리합니다.

SELECT Department_name, AVG(salary) as avg_salary FROM 직원 INNER JOIN 부서 ON Employee.department_id = Department.department_id WHERE 급여 > (SELECT AVG(salary) FROM 직원) GROUP BY 부서_이름;

이 문에서는 첫 직원 평균 연봉보다 높은 연봉을 받는 사람을 부서 테이블에 조인하고 하위 쿼리를 사용하여 회사 전체의 평균 연봉을 계산합니다. 마지막으로 부서명별로 그룹핑하여 각 부서의 이름과 평균 연봉을 구합니다.

  1. 저자가 쓴 책 중 100페이지가 넘는 책이 몇 권이나 있는지 확인해보세요.

SELECT COUNT(*) FROM books WHEREauthor_id IN (SELECTauthor_id FROMauthor WHERE name = 'John Smith') AND length > 100;

이 문에서 먼저 저자 "John Smith"의 ID를 쿼리합니다. 그런 다음 저자 ID와 책 길이를 기준으로 적합한 책을 필터링합니다. 마지막으로 COUNT 함수를 사용하여 쿼리 결과 집합의 레코드 수를 반환합니다.

4. 요약

MySQL의 하위 쿼리는 쿼리의 정확성과 효율성을 더욱 향상시킬 수 있는 매우 유용한 명령문 형식입니다. 이 글에서는 MySQL의 서브쿼리 구문과 예제를 소개하며, 학습을 통해 MySQL의 서브쿼리 문을 더 잘 이해하고 마스터할 수 있으며, 독자들이 MySQL 데이터베이스를 더 잘 적용할 수 있도록 도와줍니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿