select - from - where 의 실행 순서, 스칼라 서브쿼리 0 1 1,149

by rimbong [SQL Query] mysql sql query [2018.12.21 23:35:13]


SELECT ATTE_SEQ,CAST(@RNUM := @RNUM+1 AS UNSIGNED) AS NO
FROM tb, (SELECT @RNUM := 0) R;

이런식으로 테이블이 있을떄 tb 와 R 의 조인이 이루어진후 select가 진행됩니다.

그리고 @RNUM에 의 해 NO 값은 1,2,3,4 ... 형태로 하나씩 커질거구요 

여기서 궁금한건 실행 순서는 알겠지만 '횟수'에 대한 질문입니다.

 

제가 볼때는 FROM절은 테이블을 가져와 조인시키므로 한번 실행 되지만

SELECT는 각 레코드마다 실행되므로 레코드 횟수만 실행되는것으로 보여지는데 제가 이해한게 맞을까요?

 

또 이런 경우처럼 SELECT절에 서브쿼리를 사용하는 스칼라 서브쿼리 역시 레코드 횟수만큼 실행되는 이유 또한 

SELECT 부분은 레코드 횟수만큼 증가하기 떄문인거 같구요..

 

제가 이해한게 맞을까요???

 

by 마농 [2018.12.24 15:37:48]

네. Select 절의 표현식은 결과 건수만큼 수행되겠네요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입