뷰를 사용하여 복잡한 조인 단순화
뷰의 가장 일반적인 응용 프로그램 중 하나는 일반적으로 조인과 관련된 복잡한 SQL을 숨기는 것입니다. 다음 예를 살펴보십시오.
입력:
create view productcustomers as select cust_name,cust_contact,prod_id from customers,orders,orderitems where customers.cust_id = orders.cust_id and orderitems.order_num = orders.order_num;
분석: 이 명령문은 productcustomers라는 뷰를 생성합니다. 이 뷰는 세 개의 테이블을 조인하여 주문한 모든 제품을 반환합니다. 모든 고객. SELECT * FROM productcustomers를 실행하면 제품을 주문한 고객이 나열됩니다.
TNT2 제품을 주문한 고객을 검색하려면 다음과 같이 진행하세요.
입력:
select cust_name,cust_contact from productstomers where prod_id = 'TNT2';
출력:
분석: 이 문은 WHERE 절을 통해 뷰에서 특정 데이터를 검색합니다. MySQL은 이 쿼리를 처리하면서 지정된 WHERE 절을 뷰 쿼리의 기존 WHERE 절에 추가하여 데이터가 올바르게 필터링되도록 합니다.
뷰를 사용하면 복잡한 SQL 문 사용이 크게 단순화되는 것을 볼 수 있습니다. 뷰를 사용하면 기본 SQL을 한 번 작성한 다음 필요한 만큼 여러 번 사용할 수 있습니다.
재사용 가능한 뷰 만들기 특정 데이터에 제한되지 않는 뷰를 만드는 것이 좋습니다. 예를 들어 위에서 생성된 뷰는 TNT2를 생산하는 고객뿐만 아니라 모든 제품을 생산하는 고객을 반환합니다. 뷰의 범위를 확장하면 재사용이 가능해질 뿐만 아니라 훨씬 더 유용해집니다. 이렇게 하면 여러 개의 유사한 보기를 만들고 유지 관리할 필요가 없습니다.
뷰를 사용하여 검색된 데이터 형식을 다시 지정합니다.
위에서 언급했듯이 뷰의 또 다른 일반적인 용도는 검색된 데이터 형식을 다시 지정하는 것입니다. 다음 SELECT 문은 단일 결합 계산 열에 공급자 이름과 위치를 반환합니다.
입력:
select concat(rtrim(vend_name),'(',rtrim(vend_country), ')') as vend_title from vendors order by vend_name;
출력:
Now , 이 형식의 결과가 자주 필요한 경우. 필요할 때마다 조인을 수행하는 대신 뷰를 만들어 필요할 때마다 사용하세요. 이 문을 뷰로 변환하려면 다음과 같이 진행하세요.
입력:
create view vendorlocation as select concat(rtrim(vend_name),'(',rtrim(vend_country), ')') as vend_title from vendors order by vend_name;
분석: 이 문은 이전 SELECT 문과 동일한 쿼리를 사용하여 뷰를 생성합니다. 모든 우편물 레이블을 생성하기 위해 데이터를 검색하려면 다음과 같이 진행하십시오.
입력:
select * from vendorlocations;
출력:
위 내용은 MySQL 뷰의 역할에 대한 자세한 설명(1) - 복잡한 연결 단순화 및 검색된 데이터 형식 지정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!