본문 바로가기

파이썬으로 퀀트 프로그램 만들기 project/MySQL

MySQL 기초 - 뷰 와 서브쿼리

728x90

매번 테이블을 확인할 때마다 코드를 치면 상당히 불편할 것입니다. 

자주 사용하는 코드를 쿼리 단위로 저장하여 필요할 때마다 불러오는 방식이 '뷰'입니다.

 

#view 생성

create view [뷰 이름([뷰의 열 이름1], [뷰의 열 이름2], ···)] as [쿼리];

create view nameofview (col_1, counting) as select col_1, count(*) from nameoftable group by col_1;

 

#view 확인

저장된 view확인하기

select * from nameofview

 

#view 삭제

drop view nameofview;

 


#서브쿼리

서브쿼리란 쿼리 내의 쿼리이며, 일회용 뷰를 의미합니다.

즉, 뷰를 정의하는 구문을 그대로 다른 구 안에 삽입하는 것입니다.

스칼라 서브쿼리란 단일 값이 반환되는 서브쿼리를 의미합니다.

 

select * from nameoftable where col_2 > (select avg(col_2) from nameoftable);

위의 예시를 보면 where 구문 속 조건문 안에 스칼라 서브쿼리가 사용된 것을 확인할 수 있습니다.

위의 코드를 실행하면 col_2의 평균 보다 큰 col_2를 가진 행만 select될 것입니다.