집계, 정렬, 서브 쿼리

이주형·2022년 12월 23일
0

backend

목록 보기
52/53

서브쿼리가 무엇인가?

서브쿼리(subquery)란 다른 쿼리 내부에 포함되어 있는 SELETE 문을 의미합니다.
서브쿼리를 포함하고 있는 쿼리를 외부쿼리(outer query)라고 부르며, 서브쿼리는 내부쿼리(inner query)라고도 부릅니다.
서브쿼리는 반드시 괄호(())로 감싸져 있어야만 합니다.
MySQL에서 서브쿼리를 포함할 수 있는 외부쿼리는 SELECT, INSERT, UPDATE, DELETE, SET, DO 문이 있습니다.
이러한 서브쿼리는 또 다시 다른 서브쿼리 안에 포함될 수 있습니다

서브쿼리의 특징

  1. 서브쿼리는 쿼리를 구조화시키므로, 쿼리의 각 부분을 명확히 구분할 수 있게 해줍니다.
  2. 서브쿼리는 복잡한 JOIN이나 UNION과 같은 동작을 수행할 수 있는 또 다른 방법을 제공합니다.
  3. 서브쿼리는 복잡한 JOIN이나 UNION 보다 좀 더 읽기 편합니다.

FROM 절의 서브쿼리

서브쿼리는 SELECT 문의 FROM 절에서도 사용할 수 있습니다.
이때 서브쿼리에 의해 선택된 결과 집합은 FROM 절에서 하나의 테이블로써 사용됩니다.
SELECT 문의 FROM 절에서 사용되는 모든 테이블에는 이름이 필요합니다.
따라서 FROM 절에서 사용되는 서브쿼리는 위의 문법처럼 반드시 이름을 정의해야 합니다.

참조

http://www.tcpschool.com/mysql/mysql_multipleTable_subquery

0개의 댓글