>  기사  >  데이터 베이스  >  SQL 키워드가 실행되는 순서는 무엇입니까?

SQL 키워드가 실행되는 순서는 무엇입니까?

清浅
清浅원래의
2019-04-09 10:59:4414348검색

SQL 키워드가 실행되는 순서는 다음과 같습니다. 먼저 from 문을 실행하고, 그 다음에는 where 문을 실행하고, 그 다음에는 have 문을 실행하고, 마지막으로 order by 문을 실행합니다.

SQL 키워드가 실행되는 순서는 무엇입니까?

【추천 강좌: MySQL 튜토리얼

sql 키워드 실행 순서

예:

select m.* from(select t.*,rownum r from
(select id,name,e.username,e.realname from departments d ,employees e where d.manager=e.username(+)
order by id desc ) t where rownum<=? ) m where r>?

select m.*(select t.*,t.rownum r from(
select a,b,c,d from table1 order by a desc
) t where rownum < = ? ) m
where r > ?

표준 SQL 파싱 주문은

(1 ) FROM 절, 다양한 데이터 소스의 데이터 조합

(2) WHERE 절, 지정된 조건에 따라 레코드 필터링

(3) GROUP BY 절, 데이터를 여러 그룹으로 나누기

(4 ) 집계 함수를 사용하여 계산

( 5) HAVING 절을 사용하여 그룹 필터링

(6) 모든 표현식 계산

(7) ORDER BY를 사용하여 결과 집합 정렬

학생의 예

점수 테이블에서 (가칭 tb_Grade로 참조) , 비어 있지 않은 "후보 이름" 내용이 있는 레코드는 "후보 이름"에 따라 그룹화되고, 그룹화 결과는 "총 점수"가 600점보다 큰

을 선택하도록 필터링됩니다.

 select 考生姓名, max(总成绩) as max总成绩
  from tb_Grade
  where 考生姓名 is not null
  group by 考生姓名
  having max(总成绩) > 600
  order by max总成绩

위 예시에서 SQL 문의 실행 순서는 다음과 같습니다.

(1) 먼저 FROM 절을 실행하고, tb_Grade 테이블에서 데이터 소스의 데이터를 취합합니다.

(2) WHERE를 실행합니다. 절, tb_Grade 테이블 필터링 NULL이 아닌 모든 데이터

(3) GROUP BY 절을 실행하고 tb_Grade 테이블을 "학생 이름" 열로 그룹화합니다.

(4) max() 집계 함수를 계산하고, total grade by "Total Grade"

(5)에서 가장 큰 값 HAVING 절을 실행하여 총점이 600점보다 큰 과목을 필터링합니다.

(6) ORDER BY 절을 실행하여 최종 결과 정렬 by "Max Score".

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들께 도움이 되었으면 좋겠습니다.

위 내용은 SQL 키워드가 실행되는 순서는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.