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의 집행 순서 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.