mysql 문장 쓰기 와 실행 순 서 를 간단하게 이해 합 니 다.

mysql 문장의 쓰기 순서 와 실행 순 서 는 큰 차이 가 있다.
쓰기 순서
select
<되 돌 릴 데이터 열>
from
<표 명>
join

on

where

group by
<그룹 구성 조건>
having
<그룹 별 필터 조건>
order by
<정렬 조건>
limit
<줄 수 제한>
그러나 그 집행 순 서 는 다음 과 같다.
from
<표 명>\#피리 칼 적
on
<선별 조건>\#피리 칼 적 가상 표를 선별 합 니 다.
join
\#join 을 지정 합 니 다.on 뒤의 가상 표 에 데 이 터 를 추가 하 는 데 사 용 됩 니 다.예 를 들 어 left join 은 왼쪽 표 의 나머지 데 이 터 를 가상 표 에 추가 합 니 다.
where
\#상기 가상 표를 선별 합 니 다.
group by
<그룹 구성 조건>\#그룹 구성
\#having 자 구 를 판단 하 는 데 사용 되 며,쓰기 에 있어 서 이러한 집합 함 수 는 having 판단 에 쓰 여 있 습 니 다.
having
<패 킷 필터>\#패 킷 후 결 과 를 취 합 하여 선별 합 니 다.
select
<데이터 목록 되 돌려 주기>\#되 돌아 오 는 열 은 group by 자구 에 있어 야 합 니 다.취 합 함 수 는 제외 합 니 다.
distinct
order by
<정렬 조건>\#정렬
limit
<줄 수 제한>
부분 설명:
1. from:select * from table_1, table_2; select*from table1 join table_2; 의 결 과 는 일치 하 는데 모두 피리 칼 적 을 구 하 는 것 을 나타 낸다.
두 개의 표 피리 칼 적 을 직접 계산 하여 가상 표 VT1 을 얻 는 데 사용 합 니 다.이것 은 모든 selection 문 구 를 가장 먼저 실행 하 는 작업 입 니 다.다른 작업 을 할 때 이 표 에서 진행 되 는 것 입 니 다.즉,from 작업 이 완 성 된 내용 입 니 다.
2.on:VT1 표 에서 조건 에 맞 는 데 이 터 를 선별 하여 VT2 표를 형성한다.
3.join:이 join 형식의 데 이 터 를 VT2 표 에 보충 합 니 다.예 를 들 어 left join 은 왼쪽 표 의 나머지 데 이 터 를 가상 표 VT2 에 추가 하여 VT3 표를 형성 합 니 다.표 의 수량 이 2 보다 많 으 면 1-3 단 계 를 반복 합 니 다.
4.where:선별 을 실행 하고(집합 함 수 를 사용 할 수 없 음)VT4 표를 가 져 옵 니 다.
5.group by:VT4 표를 그룹 으로 나 누 어 VT5 표를 얻 습 니 다.그 다음 에 처 리 된 문 구 는 select,having 와 같이 사용 하 는 열 은 group by 조건 에 포함 되 어야 하 며 나타 나 지 않 은 취 합 함수 입 니 다.
6.having:그룹 을 나 눈 데 이 터 를 선별 하여 VT6 표를 얻 습 니 다.
7.select:열 을 되 돌려 VT7 표를 얻 기;
8.distinct:VT8 표를 다시 얻 는 데 사용 합 니 다.
9.order by:VT9 표를 정렬 하 는 데 사용 합 니 다.
10.limit:필요 한 줄 수 를 되 돌려 VT 10 을 얻 기;
주의:
group by 조건 에서 모든 열 은 유효 열 이 어야 하 며 집합 함수 가 될 수 없습니다.
null 값 도 그룹 으로 되 돌아 갑 니 다.
집합 함 수 를 제외 하고 select 자구 의 열 은 group by 조건 에 있어 야 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기