파이썬에서 자기란 무엇인가: 실제 사례
파이썬에서 자기란 무엇인가: 실제 사례
이 자습서에서는 SQL 임시 테이블 및 뷰에 대해 설명합니다 . 테스트 및 디버깅을 위해 물리적 테이블에서 특정 데이터 집합을 가져오려는 경우 이 두 가지가 유용할 수 있습니다 . 또한 두 가지 유형의 임시 테이블 과 그 차이점에 대해서도 설명합니다 .
SQL 임시 테이블 및 뷰를 사용하면 이미 별도의 테이블에 저장되어 있으므로 반복적으로 쿼리하지 않고도 여러 명령을 사용하여 데이터 집합을 자유롭게 조작할 수 있습니다.
이 두 가지가 유사하게 작동하더라도 차이점에 유의해야 합니다. 그러면 특정 상황에서 사용할 수 있는 최상의 방법을 결정하는 데 도움이 됩니다.
이름 자체에 따라 임시 테이블은 데이터를 세션에 임시로 저장하는 데 사용됩니다.
물리적 테이블 에서와 마찬가지로 여러 작업을 수행할 수도 있습니다 . 매우 긴 SQL 명령이 있다고 상상해 보십시오. 임시 테이블 에 간단히 저장 하고 원래 쿼리에 영향을 주지 않고 오류 디버깅 또는 문제 해결을 시작할 수 있습니다. 또한 임시 테이블은 강력하며 SQL에서 자주 사용됩니다.
목차
SQL의 두 가지 유형의 임시 테이블
SQL에는 두 가지 유형의 임시 테이블이 있습니다. 이들은 로컬 및 전역 임시 테이블입니다.
로컬 임시 테이블은 생성된 세션에만 존재합니다. 다른 세션에서는 이 테이블에 액세스할 수 없습니다. 이 때문에 생성된 세션이 닫히면 로컬 임시 테이블이 더 이상 존재하지 않습니다.
반대로 전역 임시 테이블은 생성 시 모든 세션에서 액세스할 수 있습니다. 그러나 모든 세션이 닫히면 더 이상 존재하지 않으며 더 이상 액세스할 수 없습니다.
로컬에 대한 " # " 기호와 전역 임시 테이블에 대한 " ## " 기호를 확인하여 쿼리에서 사용 중인 임시 테이블 유형을 간단히 식별할 수 있습니다 .
로컬 임시 테이블은 일반적으로 테이블 이름에서 " # "으로 시작합니다.
반면 전역 임시 테이블은 테이블 이름 앞에 " ## "으로 시작합니다.
또한 테이블을 빠르게 생성하려는 경우 예를 들어 SELECT * INTO #customers FROM dbo.courses 명령을 따를 수 있습니다.
이 명령은 dbo.courses 테이블 의 모든 데이터를 사용하여 #customers 라는 새 임시 테이블을 생성합니다 .
Microsoft SQL Server Management Studio의 보기
이제 이 샘플 명령을 사용하여 SQL 보기에 대해 설명하겠습니다 .
예를 들어 이와 같은 명령을 반복적으로 실행하고 싶지 않다고 가정해 보겠습니다. 아래 명령에 따라 간단히 보기에 넣을 수 있습니다.
뷰 생성은 테이블 생성과 유사합니다. 이를 사용하면 생성한 보기 이름을 선택하여 입력한 쿼리를 실행할 수 있습니다. 이 경우 CustomersbyYear_v 입니다 .
뷰는 임시 테이블과 다르다는 점에 유의해야 합니다. 보기는 삭제하지 않는 한 물리적 테이블처럼 데이터베이스에서 볼 수 있기 때문입니다. 또한 뷰는 데이터나 값을 저장하지 않습니다.
대신 CREATE VIEW 명령 바로 다음에 입력한 명령을 렌더링합니다 . 보기에서 모든 테이블 작업을 실행할 수도 있습니다.
가장 중요한 것은 일반적으로 뷰 이름의 시작 또는 끝에 "v"를 입력하여 뷰를 쉽게 식별할 수 있다는 것입니다.
SQL에서 임시 테이블 및 뷰 생성
이 예에서는 실행 후 Sales.SalesOrderHeader 및 Sales.Customer C 의 레코드를 결합하고 표시하는 쿼리가 있습니다 .
SQL에서 로컬 임시 테이블 생성
200줄 길이의 쿼리를 작성했고 디버그하고 특정 작업을 수행해야 한다고 상상해 보십시오. 프로세스 중에 더 많은 오류가 발생할 수 있으므로 쿼리를 직접 편집할 수 없습니다 .
그런 경우 앞의 예제를 사용하여 FROM 명령 앞에 " INTO #test_local " 명령을 추가하여 로컬 임시 테이블을 생성할 것입니다 .
이 명령을 실행하면 이제 #test_local에 Sales.SalesOrderHeader 및 Sales.Customer C 의 결합된 레코드가 포함됩니다 . 결과적으로 이것은 #test_local 테이블을 선택할 때 표시되는 것입니다.
그런 다음 이제 #test_local 테이블에서 모든 작업을 수행할 수 있습니다. #test_local 에서 모든 레코드를 선택한 다음 다음 명령을 사용하여 CustomerID 별로 레코드 순서를 변경합니다 .
그 결과 이제 레코드가 CustomerID별로 정렬됩니다. 그러나 로컬 임시 테이블을 사용했기 때문에 다른 세션에서 #test_local 테이블 에 액세스하거나 사용할 수 없습니다 . 다음 예제는 SQLQuery2.sql 에서 #test_local 에 액세스하려고 하면 어떤 일이 발생하는지 보여줍니다 .
이전 예제를 기반으로 #test_local을 선택하면 오류 메시지가 표시됩니다. 이는 #test_local 테이블이 생성된 세션인 SQLQuery1.sql 에만 존재하기 때문입니다 .
SQL에서 전역 임시 테이블 생성
다음으로 #test_local 에서 사용한 것과 동일한 쿼리를 사용합니다 . 그러나 이번에는 전역 사용합니다 .
이제 ##test_global을 선택 하고 CustomerID별로 레코드를 정렬하면 동일한 쿼리를 사용했기 때문에 #test_local 에서와 동일한 출력이 표시됩니다 .
그런 다음 다른 세션에서 ##test_global 테이블을 선택하여 액세스를 시도합니다 . 글로벌 임시 테이블을 사용하고 있기 때문에 원활하게 작동합니다.
이 시점에서 우리는 로컬 임시 테이블과 전역 임시 테이블의 차이점을 강조하고 있습니다.
로컬 임시 테이블은 생성된 세션에서만 액세스할 수 있습니다 . 해당 세션을 닫으면 더 이상 존재하지 않습니다.
반면에 전역 임시 테이블은 모든 활성 세션이나 응용 프로그램 자체를 닫지 않는 한 모든 세션에서 볼 수 있습니다 .
SQL에서 보기 생성
이제 뷰를 생성하겠습니다. 이 예에는 이와 같은 기존 쿼리가 있습니다.
해당 쿼리에 CREATE VIEW 명령을 추가하여 뷰 생성을 시작할 수 있습니다 .
명령을 실행하면 작업 중인 데이터베이스에 뷰가 생성됩니다. 이 경우 AdventureWorks2012 입니다 .
새로 고친 후 Views 폴더에 dbo.CustomerView_v 도 표시되어야 합니다 . 보기 폴더를 새로 고치려면 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 새로 고침을 선택합니다 .
Views 폴더 오른쪽에 있는 + 아이콘을 클릭하면 dbo.CustomerView_v 가 표시됩니다.
dbo.CustomerView_v 를 마우스 오른쪽 단추로 클릭한 다음 옵션에서 상위 1000개 행 선택을 선택하여 이 보기를 열 수 있습니다 . 그러면 해당 보기 에 1000개의 레코드가 표시됩니다 .
그런 다음 이제 dbo.CustomerView_v를 사용 하고 테이블처럼 모든 작업을 수행할 수 있습니다. 예를 들어 dbo.CustomerView_v 에서 SalesOrderID가 50000보다 큰 레코드를 선택하려고 합니다 . 이 경우 다음 명령을 사용합니다.
이제 우리가 만든 보기에서 작업을 실행할 수 있습니다.
결론
요약하면 두 가지 유형의 임시 테이블과 그 차이점 및 사용해야 하는 이유를 배웠습니다. 또한 임시 테이블이 실제 쿼리를 손상시키지 않고 쿼리의 오류를 수정하는 방법으로 사용된다는 점에 대해 논의했습니다.
임시 테이블은 생성된 세션에서만 볼 수 있습니다. 따라서 활성 세션이나 응용 프로그램 자체를 닫으면 더 이상 존재하지 않습니다.
뷰가 데이터나 레코드를 저장하지 않는다는 것도 배웠습니다. 렌더링하려는 쿼리를 기반으로 한 결과만 표시합니다. 이러한 뷰는 일단 생성되면 데이터베이스에 저장됩니다.
이 두 가지를 배우면 이제 긴 명령을 빠르게 실행 하고 대량의 데이터 세트를 쉽게 수정할 수 있습니다.
모두 제일 좋다,
하피즈
파이썬에서 자기란 무엇인가: 실제 사례
R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.
이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.
이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.
이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.
LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.
LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.
이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.
지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.
LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것