SQL WITH 절 예
중복 가능성 :
CTE와 하위 쿼리의 차이점은 무엇입니까?
WITH
조항 을 사용하는 방법 과 조항의 목적 을 이해하려고했습니다 WITH
.
내가 이해 한 것은이 WITH
절이 정상적인 하위 쿼리를 대체한다는 것입니다.
누구든지 이것을 작은 예를 통해 자세히 설명 할 수 있습니까?
SQL WITH 절은 Oracle 9i 릴리스 2 데이터베이스에서 Oracle에 의해 도입되었습니다. SQL WITH 절을 사용하면 서브 쿼리 블록에 이름 (서브 쿼리 리팩토링이라고도하는 프로세스)을 지정할 수 있으며, 이는 메인 SQL 쿼리 내의 여러 위치에서 참조 될 수 있습니다. 하위 쿼리에 할당 된 이름은 인라인 뷰 또는 테이블 인 것처럼 처리됩니다. SQL WITH 절은 기본적으로 일반 하위 쿼리를 대체하는 대체 항목입니다.
SQL WITH 절에 대한 구문
다음은 단일 서브 쿼리 별명을 사용할 때 SQL WITH 절의 구문입니다.
WITH <alias_name> AS (sql_subquery_statement)
SELECT column_list FROM <alias_name>[,table_name]
[WHERE <join_condition>]
여러 개의 하위 쿼리 별칭을 사용하는 경우 구문은 다음과 같습니다.
WITH <alias_name_A> AS (sql_subquery_statement),
<alias_name_B> AS(sql_subquery_statement_from_alias_name_A
or sql_subquery_statement )
SELECT <column_list>
FROM <alias_name_A>, <alias_name_B> [,table_names]
[WHERE <join_condition>]
위의 구문 문서에서 발생은 alias_name
AS 절 다음에 하위 쿼리에 제공 할 의미있는 이름입니다. 각 하위 쿼리는 WITH 문에 대해 쉼표로 구분해야합니다 . 나머지 쿼리는 단순하고 복잡한 SQL SELECT 쿼리에 대한 표준 형식을 따릅니다.
자세한 정보 : http://www.brighthub.com/internet/web-development/articles/91893.aspx
참조 SELECT에 대한 오라클의 문서는 하위 쿼리 인수 분해가 작동하고, 마크의 예 방식을 볼 수 있습니다 :
WITH employee AS (SELECT * FROM Employees)
SELECT * FROM employee WHERE ID < 20
UNION ALL
SELECT * FROM employee WHERE Sex = 'M'
참고 URL : https://stackoverflow.com/questions/12552288/sql-with-clause-example
'Programing' 카테고리의 다른 글
Rust에서 명시적인 수명이 필요한 이유는 무엇입니까? (0) | 2020.05.19 |
---|---|
파이썬에서 최소 플러그인 아키텍처 구축 (0) | 2020.05.19 |
JavaScript의 addEventListener 메소드와 동등한 jQuery (0) | 2020.05.19 |
값이 24:00:00 인 .Net Timespan을 저장하는 올바른 SQL 유형은 무엇입니까? (0) | 2020.05.19 |
if [] (대괄호)의 "[: 너무 많은 인수"오류의 의미 (0) | 2020.05.19 |