MySQL 5.0 보기의 FROM 절에 대한 하위 쿼리: 제한 사항 및 해결 방법
MySQL 5.0 사용자는 FROM 절에 하위 쿼리가 포함된 뷰를 생성하려고 할 때 오류가 발생할 수 있습니다. 오류 메시지는 "ERROR 1349(HY000): 뷰의 SELECT에 FROM 절에 하위 쿼리가 포함되어 있습니다."입니다. 하위 쿼리가 포함된 복잡한 쿼리를 기반으로 뷰를 만듭니다.
한 가지 가능한 해결 방법은 각 하위 쿼리에 대해 별도의 보기를 만든 다음 하위 쿼리를 이러한 파생 보기로 바꾸는 것입니다. 다음 예시 쿼리를 고려해 보세요.
<code class="language-sql">SELECT temp.UserName FROM ( SELECT u1.name AS UserName, COUNT(m1.UserFromId) AS SentCount FROM Message m1, User u1 WHERE u1.uid = m1.UserFromId GROUP BY u1.name HAVING SentCount > 3 ) AS temp;</code>
이 제한을 피하기 위해 두 하위 쿼리 모두에 대해 뷰를 생성할 수 있습니다.
<code class="language-sql">CREATE VIEW v_user_sent_count AS SELECT u1.name AS UserName, COUNT(m1.UserFromId) AS SentCount FROM Message m1, User u1 WHERE u1.uid = m1.UserFromId GROUP BY u1.name; CREATE VIEW v_users_sent_over_3 AS SELECT UserName FROM v_user_sent_count WHERE SentCount > 3;</code>
원래 쿼리에서 하위 쿼리를 파생 뷰로 바꿉니다.
<code class="language-sql">SELECT UserName FROM v_users_sent_over_3;</code>
이 접근 방식을 사용하면 FROM 절에 하위 쿼리 제한이 있는 MySQL 버전에서 복잡한 하위 쿼리를 기반으로 뷰를 생성할 수 있습니다. 그러나 FROM 절 없이 모든 하위 쿼리를 표현할 수 있는 것은 아닙니다. 예를 들어 정렬 또는 필터링에 사용되는 하위 쿼리에는 상관 하위 쿼리 또는 창 함수 사용과 같은 다른 방법이 필요할 수 있습니다.
위 내용은 FROM 절의 MySQL 뷰 및 하위 쿼리: 5.0 제한을 극복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!