STUDY/SQL, DB

[MySQL] temporary table

K_Wien 2024. 3. 5. 17:52

 

temporary table??

 

쿼리를 날려서 나온 output값을 테이블로 만든 것.

MySQL 접속을 종료하면 사라지기에, 말 그대로 temporary table임시 테이블이다.

 

임시 테이블을 사용할 때는 with 구문을 써도 좋지만, with문은 하나의 쿼리문에만 동작한다는 단점이 있다.

반면 temporary table은 한 번 만들어두면 여러 쿼리문에서 사용할 수 있으므로 훨씬 편하다.

 

 

사용해보자!

구문 작성하는 법은 아래와 같다.

CREATE TEMPORARY TABLE TABLE_NAME
SELECT
	테이블을 출력할 쿼리문
    	을 작성해 줍니다
  	이러쿵 저러쿵 블라블라...

 

 

 

 

별로 복잡할 것은 없어 보인다.

 

실제 사용 예시를 보자.

 

 

아래와 같은 city_data라는 테이블이 있다.

 

 

 

city 별, StoreNumber 별 SaleDollars의 순위를 매기고 싶다.

 

 

 

 

그런데 데이터 분석을 하던 나는, 왠지 위의 출력 결과를 여러 번 이용할 것 같아서 임시 테이블로 만들고자 한다.

어떻게?

 

 

이렇게!

 

 

 

이렇게 임시 테이블을 만드는 쿼리가 잘 실행되었다면, 아래와 같이 잘 실행되었다고 친절하게 문구가 뜬다.

 

 

 

이제 마구 사용할 수 있게 되었다.

 

 

이렇듯, 간단한 테이블이라면 with문으로 사용해도 좋겠지만 여러 번 사용할거라면 임시 테이블을 만들어 사용해 보는것도 좋을 것 같다.