MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

WBOY
풀어 주다: 2023-05-28 21:31:55
앞으로
1715명이 탐색했습니다.

1. 집계 쿼리

1. 집계 함수(count, sum, avg...)

총계 계산 및 동점 값 계산과 같은 일반적인 작업은 집계 함수를 사용하여 구현할 수 있습니다.

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

마지막에 where, order by 문을 추가할 수 있습니다. 이러한 집계 함수는 이러한 문의 결과 집합을 기반으로 쿼리합니다. MySQL의 한계는 다른 데이터베이스의 한계와 다르기 때문에 한계를 추가하세요
  • 통계 열의 집계 기능을 사용할 때 다른 열을 쓰지 마십시오. 그렇지 않으면 첫 번째 열이 의미 없이 표시됩니다.
  • 참고:

  • 1.count: count(*), count(0), count(1)을 사용할 수 있습니다. 직설적으로 말하면 전체 테이블에서 1을 선택하는 것과 같습니다. 이유는 이 개수의 0과 1이 매개변수로 전달되기 때문입니다. 먼저 1을 선택한 다음 count

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

2.sum, max, min 및 avg 값을 계산합니다. 허용 *를 전달하려면 필드 또는 표현식을 전달해야 합니다.

3.avg는 합계와 함께 사용할 수 있으며 여러 집계 함수를 함께 사용할 수 있습니다. 2.GROUP BY 절

GROUP BY 절을 사용하여 지정합니다. 그룹 쿼리에 대한 특정 열입니다. 충족해야 할 사항: 그룹화 쿼리에 GROUP BY를 사용할 때 SELECT로 지정된 필드는 "그룹화 기준 필드"여야 하며, 다른 필드가 SELECT에 표시되려면 집계 함수에 포함되어야 합니다. MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예Select 뒤에 있는 집계 기능은 Group by가 그룹화를 완료한 후에 수행됩니다. Group by 문의 핵심은 집계 쿼리와 함께 자주 사용됩니다. by Select는 group by 다음에 있어야 합니다. 사용할 수 없는 항목은 집계 기능에만 나타날 수 있습니다. 그렇지 않으면 문제가 발생합니다.

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예GROUP BY Notes

1. 집계 쿼리와 함께 자주 사용됩니다.

2. 집계 함수가 있는 한 그룹화될 수 있습니다.

3 그룹화 작업에서 쿼리는 그룹화 필드, 집계 함수 및 기타 비그룹화 필드가 필요합니다. 그룹화 후 여러 행이 없는지 확인하기 위해(예: 학생 ID 그룹화 후 쿼리 필드에 학생 이름이 있을 수 있음)

4 ​​그룹화하기 전에 조건을 필터링할 위치를 사용하세요. 그룹화 후 사용
  • 실행 순서: from >
은 from부터 먼저 실행되기 때문에 별칭은 일반적으로 여기에 이름을 붙이고, select에서도 이름을 붙일 수 있지만 select는 나중에 실행되며, 먼저 실행된 곳은 사용되지 않습니다.

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예Limit은 항상 마지막에 실행됩니다

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

5.---score>60인 학생에서 classid,average(score)를 선택합니다. group by classid havinng classid먼저 점수 >가 있는 행을 찾습니다. ; 60 , 그리고 얻은 결과에서 클래스 6 .group by는 반복되는 행을 하나의 행으로 병합하는 것입니다7.group by 필드가 많을 경우 병합되지 않을 수 있으나 그룹화 효과를 얻을 수 있으며, Aggregate 기능을 사용할 수 있습니다.

3.HAVING

GROUP BY 절 그룹화 후 그룹화된 결과를 조건적으로 필터링해야 할 경우 WHERE 문을 사용할 수 없고 HAVING을 사용해야 합니다. HAVING은 GROUP BY

이후에 실행됩니다.

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

2. Union 쿼리((강조) 다중 테이블)

1. Inner Join

구문:

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

에서는 연결 조건과 필터링 결과 집합 조건의 차이를 구분하지 못할 수 있습니다. 두 번째 방법. 둘 중 하나를 사용할 수 있지만 후속 외부 조인에 대응하기 위해 첫 번째 조인에 우선순위를 부여합니다. 내부 조인은 구해진 데카르트 곱에 연결 조건을 부여하는 것과 같습니다

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

여기서 그룹이 없으면 다음과 같은 한 줄만 남게 되며 이는 모든 학생의 점수를 모두 합한 것과 같습니다. . 필요한 것은 각 학생의 총점이므로 먼저 학생 ID에 따라 그룹화해야 합니다.

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

2. 외부 조인

외부 조인은 왼쪽 외부 조인과 오른쪽 외부 조인으로 구분됩니다. 왼쪽 외부 조인은 결합 쿼리를 수행할 때 왼쪽 테이블이 완전히 표시될 때의 연결 방법이고, 오른쪽 외부 조인은 결합 쿼리를 수행할 때 오른쪽 테이블이 완전히 표시될 때의 연결 방법입니다.

참고:

  • 왼쪽 테이블의 데이터는 결합 조건(and를 포함한 on 뒤의 부분)에 따라 필터링 및 표시되지 않습니다. 나중에 where 및 기타 조건을 추가하세요.

  • 오른쪽 테이블에 데이터가 있고 연결 조건에 맞지 않는 값이 있는 경우 오른쪽 테이블의 데이터는 null로 표시되고 왼쪽 테이블에는 모두 표시됩니다.

구문: ​​(참고: On where도 올 수 있음)

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

동일한 쿼리 방법으로 이번에는 점수가 비어 있는 8번째 학생의 정보를 표시할 수 있습니다. 왼쪽 테이블의 모든 데이터, 즉 학생 테이블은 표시되며 접속 조건이 적용되지 않습니다. 표시됩니다, sco 테이블에는 "중국어를 공부하는 외국인" 학생이 없기 때문입니다. 3. 셀프 조인 셀프 조인은 쿼리를 위해 동일한 테이블에 자신을 연결하는 것을 의미합니다. 사용 시나리오: 동일한 테이블의 여러 행을 비교합니다.

참고: 자체 조인 쿼리는 Join on 문을 사용하여 쿼리할 수도 있습니다.

4. Subquery

Subquery는 중첩 쿼리

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예쿼리라고도 하며 동급생의 동급생을 "졸업하고 싶지 않음": (자체 조인)

다행 하위 쿼리: 여러 행의 레코드를 반환하는 하위 쿼리(자주 사용됨)

사례: "중국어" 또는 "영어" 과목의 점수 정보 쿼리: (내부 연결)

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

여기 group by는 병합하는 역할을 하지 않고 그룹화하는 역할을 합니다MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

5. Merge query

실제 응용에서는 다중 선택의 실행 결과를 병합하기 위해 집합 연산자 Union을 사용하면 됩니다. 그리고 모두 연합. UNION 및 UNION ALL을 사용하는 경우

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예 필드는 쿼리 전후의 결과 집합에서 일관적

해야 합니다.

**여러 테이블을 연결할 수 없는 경우에도 동일한 필드의 데이터를 쿼리하려는 경우**Union이 or

union

    보다 효율적입니다. 이 연산자는 두 개의 테이블을 얻는 데 사용됩니다. 결과 세트의 합집합입니다. 이 연산자는 결과 집합에서 중복 행을 자동으로 제거하고 데이터 내용이 정확히 동일하면 자동으로 중복을 제거합니다.
  • 사례: ID가 3보다 작거나 이름이 "English"인 강좌를 쿼리합니다.

union all

이 연산자는 두 결과 집합의 합집합을 얻는 데 사용됩니다. 이 연산자를 사용하면 결과 집합의 중복 행이 제거되지 않습니다. (획득한 데이터가 완전히 동일한 경우 표시되며 중복은 제거되지 않습니다.)

사례: ID가 3 미만이거나 이름이 "Java"인 강좌를 쿼리합니다.

MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예

위 내용은 MySQL 집계 쿼리 및 통합 쿼리 작업 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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