Sql의 실행 순서가 어떻게 되는지 알려드릴게요.

2094 단어 sql실행순서
Sql을 배웠거나 Sql을 이해한 사람은 아래의 코드를 쓸 것입니다.

select * from t
위의 코드는 t표의 모든 정보를 조회하는 것을 나타낸다. 이것은 Sql 조회에서 가장 기초적이고 가장 간단한 코드이다. 다른 프로그래밍 언어의 Hello World라고 이해할 수 있다.
select*단지 당신이 Sql 대문에 들어서는 첫걸음일 뿐, 실제 업무에서 틀림없이 이렇게 간단하지 않을 것이다.우리 예를 하나 봅시다.
현재 다음 표 t가 있습니다. 모든 상품 유형의 거래 내역을 저장합니다. 우리는 아래 표를 통해 주문량이 10보다 많은 품목을 얻고 그 중에서 주문량 상위 3의 상품 품목을 꺼내야 합니다. 일부 테스트 주문서(catid=c666의 경우 테스트)가 있습니다. 우리는 필터를 해야 합니다.
catid
orderid
c1

c1

c1

c2

c2

c3



c100

위의 요구 사항을 수행하려면 다음과 같이 Sql을 사용할 수 있습니다.

select
 catid,
 count(orderid) as sales
from
 t
where 
 catid <> "c666"
group by 
 catid
having
 count(orderid) > 10
order by 
 count(orderid) desc
limit 3
위의 Sql 코드에 언급되어 있습니다select、from、where、group by、having、order by、limit 이 7개의 키워드는 기본적으로 Sql의 모든 검색 키워드를 포함한다. 위의 순서는 이 7개의 키워드의 문법 순서이다. 즉, 당신이 코드를 쓸 때 이 순서에 따라 써야 한다. 그러면 이 7개의 키워드의 실행 순서는 어떤 것입니까?즉, 어떤 것을 먼저 집행하고 어떤 것을 집행하는 것입니까?
틀림없이 위에서 아래로 집행되는 것이 아닐 것이다. 만약 이렇다면 이 글을 쓸 필요가 없을 것이다.
내가 줄곧 견지해 온 태도 중 하나는 컴퓨터가 일을 할 때 사람과 다름없고 기본적인 논리와 절차는 모두 같다는 것이다. 왜냐하면 컴퓨터도 사람이 설계한 것이기 때문이다.그럼 이왕 이렇게 된 이상, 우리가 수동으로 위의 그 수요를 할 때, 우리는 어떻게 할지 한번 봅시다.
우선 내가 어떤 시계에서 내가 원하는 것, 즉from를 얻을 수 있는지 알아야 한다.지금 나는 어느 시계에서 얻었는지 알고 있지만, 이 시계 안의 모든 정보가 내가 필요로 하는 것은 아니다. 나는 필요하지 않은 것을 삭제하거나 (예를 들어 테스트 주문서) 내가 필요로 하는 것을 선별해야 한다. 이것이 바로 where이다.지금 나는 내가 필요로 하는 주문 내역을 선별해 냈지만, 나는 모든 품목의 주문량을 원한다. 이럴 때 그룹 집합, 즉groupby를 해야 하지 않겠는가?그룹을 나누어 집합한 결과도 우리가 모두 필요로 하는 것이 아니다. 우리는 10보다 큰 품종만 있으면 10보다 큰 품종을 선별해야 한다. 10보다 큰 품종을 필터해야 한다. 이것이 바로having이다.현재 우리가 원하는 대부분의 정보가 이미 나왔으니, 우리는 select로 그들을 조회할 수 있다.우리는 마지막으로 앞의 세 가지 품종을 취해야 하기 때문에 조회한 결과를 내림차순으로 배열해야 한다. 즉orderby이다.마지막 단계는 앞의 세 가지만 보여주고 제한을 하면 된다. 즉limit이다.
다음은 Sql 문장의 기본 실행 순서입니다. 요약하면 다음과 같습니다.
from-where-groupby-having-select-orderby-limit
이 Sql의 집행 순서에 관한 글은 여기까지 소개되었습니다. 더 많은 Sql의 집행 순서 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기