PostgreSQL 기초강의, PostgreSQL 기초강좌, PostgreSQL 기본강의, PostgreSQL 기본강좌
56강 SQL 초석 다지기 : PostgreSQL CREATE TABLE AS
SQL 초석 다지기 56강 시작합니다.
이번 시간에는
▶ PostgreSQL CREATE TABLE AS
에 대해서 알아보는 시간입니다.
요약: 이번 강의에서는 PostgreSQL CREATE TABLE AS 문을 사용하여 쿼리 결과 집합에서 새 테이블을 만드는 방법에 대해 알아봅니다.
Introduction to the PostgreSQL CREATE TABLE statement
CREATE TABLE AS 문은 새 테이블을 생성하고 쿼리에 의해 반환된 데이터로 채웁니다.
다음은 CREATE TABLE AS 문의 구문을 보여줍니다.
CREATE TABLE new_table_name
AS query;
위 구문에서:
● 먼저 CREATE TABLE 절 뒤에 새 테이블 이름을 지정합니다.
● 둘째, AS 키워드 뒤에 새 테이블에 결과 세트가 추가되는 쿼리를 제공합니다.
TEMPORY 또는 TEMP 키워드를 사용하여 임시 테이블을 만들 수 있습니다.
CREATE TEMP TABLE new_table_name
AS query;
UNLOGGED 키워드를 사용하면 새 테이블을 기록되지 않은 테이블로 만들 수 있습니다.
CREATE UNLOGGED TABLE new_table_name
AS query;
새 테이블의 열에는 SELECT 절의 출력 열과 연결된 이름과 데이터 유형이 있습니다.
테이블 열에 다른 이름을 지정하려면 새 테이블 이름 뒤에 새 테이블 열을 지정할 수 있습니다.
CREATE TABLE new_table_name ( column_name_list)
AS query;
이미 존재하는 새 테이블을 생성하여 오류를 방지하려는 경우 IF NOT EXISTS 옵션을 다음과 같이 사용할 수 있습니다.
CREATE TABLE IF NOT EXISTS new_table_name
AS query;
IF NOT EXISTS 옵션은 테이블을 생성할 때는 어디서나 쓸 수 있습니다.
PostgreSQL CREATE TABLE AS statement examples
샘플 데이터베이스의 film 및 film_category 테이블을 실습에 사용할 것입니다.
다음 명령문은 범주 1에 속하는 액션 영화를 포함하는 테이블을 만듭니다.
CREATE TABLE action_film AS
SELECT
film_id,
title,
release_year,
length,
rating
FROM
film
INNER JOIN film_category USING (film_id)
WHERE
category_id = 1;
테이블 생성을 확인하기 위해 action_film 테이블에서 데이터를 쿼리 할 수 있습니다.
SELECT * FROM action_film
ORDER BY title;
action_film의 구조를 확인하려면 psql 도구에서 다음 명령을 사용할 수 있습니다.
\d action_film;
출력에서 명확히 알 수 있듯이, action_film 테이블의 이름과 데이터 유형은 SELECT 절의 열에서 파생됩니다.
SELECT 절에 식을 포함하는 경우 다음과 같이 열을 재정의하는 것이 좋습니다.
CREATE TABLE IF NOT EXISTS film_rating (rating, film_count)
AS
SELECT
rating,
COUNT (film_id)
FROM
film
GROUP BY
rating;
이 예제 문은 새 테이블 film_rating을 생성하고 이 테이블을 필름 테이블의 요약 데이터로 채웠습니다. SELECT 절의 열 이름을 사용하는 대신 새 테이블의 열 이름을 명시적으로 지정했습니다.
film_rating 테이블의 구조를 확인하려면 psql 도구에서 다음 명령을 사용합니다.
\d film_rating
CREATE TABLE AS 문은 SELECT INT 문과 유사하지만 PL/pgSQL에서 SELECT INTO 구문의 다른 용도와 혼동되지 않기 때문에 CREATE TABLE AS 문이 선호됩니다. 또한 CREATE TABLE AS 문은 SELECT INTO 문에서 제공하는 기능의 슈퍼셋을 제공합니다.
이번 시간에는 PostgreSQL CREATE TABLE AS 문을 사용하여 쿼리 결과에서 새 테이블을 만드는 방법을 배웠습니다.
다음시간에 만나요.
본 강의는 PostgreSQL Tutorial을 참조합니다. https://www.postgresqltutorial.com/ |
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다. |
'IT > SQL 기초강좌 (PostgreSQL)' 카테고리의 다른 글
58강 SQL 초석 다지기 : PostgreSQL Identity Column (16) | 2023.01.01 |
---|---|
57강 SQL 초석 다지기 : PostgreSQL Sequences (54) | 2022.12.31 |
55강 SQL 초석 다지기 : PostgreSQL SELECT INTO (23) | 2022.12.29 |
54강 SQL 초석 다지기 : PostgreSQL CREATE TABLE (37) | 2022.12.28 |
53강 SQL 초석 다지기 : PostgreSQL User-defined Data Types (18) | 2022.12.27 |
댓글