CREATE DATABASE - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

CREATE DATABASE

Membuat database baru.

Untuk membuat database, Anda harus menjadi superuser atau memiliki CREATEDB hak istimewa. Untuk membuat database yang terkait dengan ETL integrasi nol, Anda harus menjadi superuser atau memiliki keduanya CREATEDB dan CREATEUSER hak istimewa.

Anda tidak dapat menjalankan CREATE DATABASE dalam blok transaksi (BEGIN... END). Untuk informasi lebih lanjut tentang transaksi, lihatIsolasi yang dapat diserialisasi.

Sintaks

CREATE DATABASE database_name [ { [ WITH ] [ OWNER [=] db_owner ] [ CONNECTION LIMIT { limit | UNLIMITED } ] [ COLLATE { CASE_SENSITIVE | CASE_INSENSITIVE } ] [ ISOLATION LEVEL { SERIALIZABLE | SNAPSHOT } ] } | { [ WITH PERMISSIONS ] FROM DATASHARE datashare_name ] OF [ ACCOUNT account_id ] NAMESPACE namespace_guid } | { FROM { { ARN '<arn>' } { WITH DATA CATALOG SCHEMA '<schema>' | WITH NO DATA CATALOG SCHEMA } } | { INTEGRATION '<integration_id>' [ DATABASE '<source_database>' ] [SET {REFRESH_INTERVAL <interval>} ] } } | { IAM_ROLE {default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>' } } ]

Parameter

database_name

Nama database baru. Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengenal.

WITH

Kata kunci opsional.

OWNER

Menentukan pemilik database.

=

Karakter opsional.

db_pemilik

Nama pengguna untuk pemilik database.

CONNECTIONLIMIT{batas |UNLIMITED}

Jumlah maksimum koneksi database pengguna diizinkan untuk membuka secara bersamaan. Batas tidak diberlakukan untuk pengguna super. Gunakan UNLIMITED kata kunci untuk memungkinkan jumlah maksimum koneksi bersamaan. Batas jumlah koneksi untuk setiap pengguna mungkin juga berlaku. Untuk informasi selengkapnya, lihat CREATE USER. Defaultnya adalahUNLIMITED. Untuk melihat koneksi saat ini, kueri tampilan STV_SESSIONS sistem.

catatan

Jika batas koneksi pengguna dan basis data berlaku, slot koneksi yang tidak digunakan harus tersedia yang berada dalam kedua batas saat pengguna mencoba untuk terhubung.

COLLATE { CASE_SENSITIVE | CASE_INSENSITIVE }

Klausa yang menentukan apakah pencarian string atau perbandingan adalah CASE _ SENSITIVE atau CASE _. INSENSITIVE Defaultnya adalah CASE _SENSITIVE.

ISOLATION LEVEL { SERIALIZABLE | SNAPSHOT }

Sebuah klausa yang menentukan tingkat isolasi yang digunakan ketika query dijalankan terhadap database.

  • SERIALIZABLEisolasi — Menyediakan serialisasi penuh untuk transaksi bersamaan. Untuk informasi selengkapnya, lihat Isolasi yang dapat diserialisasi.

  • SNAPSHOTisolasi — Memberikan tingkat isolasi dengan perlindungan terhadap pembaruan dan penghapusan konflik. Ini adalah default untuk database yang dibuat dalam cluster yang disediakan atau namespace tanpa server.

Anda dapat melihat model konkurensi mana yang dijalankan database Anda sebagai berikut:

  • Kueri tampilan STV katalog _DB_ ISOLATION _LEVEL. Untuk informasi selengkapnya, lihat STVISOLATION_DB_ _ LEVEL.

    SELECT * FROM stv_db_isolation_level;
  • Kueri tampilan PG_ DATABASE _INFO.

    SELECT datname, datconfig FROM pg_database_info;

    Tingkat isolasi per database muncul di sebelah kunciconcurrency_model. Nilai 1 menunjukkanSNAPSHOT. Nilai 2 menunjukkanSERIALIZABLE.

Dalam database Amazon Redshift, keduanya SERIALIZABLE dan SNAPSHOT isolasi adalah jenis tingkat isolasi serial. Artinya, bacaan kotor, pembacaan yang tidak dapat diulang, dan pembacaan hantu dicegah sesuai dengan standar. SQL Kedua tingkat isolasi menjamin bahwa transaksi beroperasi pada snapshot data seperti yang ada ketika transaksi dimulai, dan bahwa tidak ada transaksi lain yang dapat mengubah snapshot itu. Namun, SNAPSHOT isolasi tidak memberikan serialisasi penuh, karena tidak mencegah sisipan miring tulis dan pembaruan pada baris tabel yang berbeda.

Skenario berikut menggambarkan pembaruan tulis miring menggunakan tingkat isolasi. SNAPSHOT Sebuah tabel bernama Numbers berisi kolom bernama digits yang berisi 0 dan 1 nilai-nilai. Setiap UPDATE pernyataan pengguna tidak tumpang tindih dengan pengguna lain. Namun, 1 nilai 0 dan ditukar. SQLMereka menjalankan mengikuti garis waktu ini dengan hasil ini:

Waktu Pengguna 1 tindakan Tindakan Pengguna 2
1 BEGIN;
2 BEGIN;
3 SELECT* FROM Angka;
digits
------
0
1
4 SELECT* FROM Angka;
digits
------
0
1
5 UPDATEAngka SET digit = 0 digit = 1WHERE;
6 SELECT* FROM Angka;
digits
------
0
0
7 COMMIT;
8 Perbarui angka SET digit = 1 digit = 0WHERE;
9 SELECT* FROM Angka;
digits
------
1
1
10 COMMIT;
11 SELECT* FROM Angka;
digits
------
1
0
12 SELECT* FROM Angka;
digits
------
1
0

Jika skenario yang sama dijalankan menggunakan isolasi yang dapat diserialisasi, Amazon Redshift menghentikan pengguna 2 karena pelanggaran serial dan mengembalikan kesalahan. 1023 Untuk informasi selengkapnya, lihat Cara memperbaiki kesalahan isolasi yang dapat diserialisasi. Dalam hal ini, hanya pengguna 1 yang dapat melakukan komit dengan sukses. Tidak semua beban kerja memerlukan isolasi serial sebagai persyaratan, dalam hal ini isolasi snapshot cukup sebagai tingkat isolasi target untuk database Anda.

FROM ARN '<ARN>'

AWS Glue Database yang digunakan ARN untuk membuat database.

{DATACATALOGSCHEMA'<schema>' | WITH TIDAK DATA CATALOGSCHEMA}
catatan

Parameter ini hanya berlaku jika CREATE DATABASE perintah Anda juga menggunakan FROM ARN parameter.

Menentukan apakah untuk membuat database menggunakan skema untuk membantu mengakses objek di. AWS Glue Data Catalog

FROMINTEGRATION'<integration_id>' [DATABASE'<source_database>'] [SET{REFRESH_ INTERVAL<interval>}]

Menentukan apakah akan membuat database menggunakan pengenal nol- ETL integrasi. Anda dapat mengambil integration_id dari SVV _ tampilan INTEGRATION sistem. Untuk ETL integrasi SQL nol Aurora Postgre, Anda juga perlu menentukan source_database nama, yang juga dapat diambil dari _. SVV INTEGRATION INTERVALKlausa SET REFRESH _ menetapkan perkiraan interval waktu, dalam detik, untuk menyegarkan data dari ETL sumber nol ke database target. Defaultnya adalah nol (0) detik untuk nol- ETL integrasi yang tipe sumbernya adalah Aurora My, Aurora SQL PostgreSQL, atau untuk My. RDS SQL

Sebagai contoh, lihat Buat database untuk menerima hasil nol- integrasi ETL. Untuk informasi selengkapnya tentang membuat database dengan nol ETL integrasi, lihat Membuat database tujuan di Amazon Redshift di Panduan Manajemen Pergeseran Merah Amazon.

IAM_ ROLE {default | 'SESSION' | 'arn:aws:iam::<Akun AWS-id>:peran/<role-name>' }
catatan

Parameter ini hanya berlaku jika CREATE DATABASE perintah Anda juga menggunakan FROM ARN parameter.

Jika Anda menentukan IAM peran yang terkait dengan cluster saat menjalankan CREATE DATABASE perintah, Amazon Redshift akan menggunakan kredenal peran saat Anda menjalankan kueri pada database.

Menentukan default kata kunci berarti menggunakan IAM peran yang ditetapkan sebagai default dan terkait dengan cluster.

Gunakan 'SESSION' jika Anda terhubung ke klaster Amazon Redshift menggunakan identitas federasi dan mengakses tabel dari skema eksternal yang dibuat menggunakan perintah ini. Untuk contoh penggunaan identitas federasi, lihat Menggunakan identitas federasi untuk mengelola akses Amazon Redshift ke sumber daya lokal dan tabel eksternal Amazon Redshift Spectrum, yang menjelaskan cara mengonfigurasi identitas federasi.

Gunakan Amazon Resource Name (ARN) untuk IAM peran yang digunakan klaster Anda untuk autentikasi dan otorisasi. Minimal, IAM peran harus memiliki izin untuk melakukan LIST operasi pada bucket Amazon S3 untuk diakses dan GET operasi pada objek Amazon S3 yang berisi bucket. Untuk mempelajari lebih lanjut tentang menggunakan IAM _ ROLE saat membuat database yang menggunakan AWS Glue Data Catalog untuk datashares, lihat Bekerja dengan kelompok data yang dikelola Lake Formation sebagai konsumen.

Berikut ini menunjukkan sintaks untuk string ROLE parameter IAM _ untuk satuARN.

IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-name>'

Anda dapat merantai peran sehingga klaster Anda dapat mengambil IAM peran lain, mungkin milik akun lain. Anda dapat merantai hingga 10 peran. Untuk informasi selengkapnya, lihat IAMPeran rantai di Amazon Redshift Spectrum.

Untuk IAM peran ini, lampirkan kebijakan IAM izin yang serupa dengan yang berikut ini.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-rds-secret-VNenFy" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }

Untuk langkah-langkah membuat IAM peran yang akan digunakan dengan kueri federasi, lihatMembuat rahasia dan IAM peran untuk menggunakan kueri federasi.

catatan

Jangan sertakan spasi dalam daftar peran yang dirantai.

Berikut ini menunjukkan sintaks untuk rantai tiga peran.

IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-1-name>,arn:aws:iam::<aws-account-id>:role/<role-2-name>,arn:aws:iam::<aws-account-id>:role/<role-3-name>'

Sintaks untuk menggunakan CREATE DATABASE dengan datashare

Sintaks berikut menjelaskan CREATE DATABASE perintah yang digunakan untuk membuat database dari datashare untuk berbagi data dalam akun yang sama. AWS

CREATE DATABASE database_name [ [ WITH PERMISSIONS ] FROM DATASHARE datashare_name ] OF [ ACCOUNT account_id ] NAMESPACE namespace_guid

Sintaks berikut menjelaskan CREATE DATABASE perintah yang digunakan untuk membuat database dari datashare untuk berbagi data di seluruh akun. AWS

CREATE DATABASE database_name [ [ WITH PERMISSIONS ] FROM DATASHARE datashare_name ] OF ACCOUNT account_id NAMESPACE namespace_guid

Parameter untuk digunakan CREATE DATABASE dengan datashare

FROM DATASHARE

Kata kunci yang menunjukkan di mana datashare berada.

datashare_name

Nama datashare tempat basis data konsumen dibuat.

WITH PERMISSIONS

Menentukan bahwa database yang dibuat dari datashare memerlukan izin tingkat objek untuk mengakses objek database individu. Tanpa klausul ini, pengguna atau peran yang diberikan USAGE izin pada database akan secara otomatis memiliki akses ke semua objek database dalam database.

NAMESPACEnamespace_guid

Nilai yang menentukan namespace produsen yang dimiliki datashare.

ACCOUNTaccount_id

Nilai yang menentukan akun produsen yang dimiliki datashare.

Catatan penggunaan CREATE DATABASE untuk berbagi data

Sebagai superuser database, ketika Anda menggunakan CREATE DATABASE untuk membuat database dari datashares dalam AWS akun, tentukan opsi. NAMESPACE ACCOUNTOpsi ini opsional. Bila Anda gunakan CREATE DATABASE untuk membuat database dari datashares di seluruh AWS akun, tentukan keduanya ACCOUNT dan NAMESPACE dari produsen.

Anda hanya dapat membuat satu database konsumen untuk satu datashare di cluster konsumen. Anda tidak dapat membuat beberapa database konsumen yang mengacu pada datashare yang sama.

CREATEDATABASEdari AWS Glue Data Catalog

Untuk membuat database menggunakan AWS Glue databaseARN, tentukan ARN CREATE DATABASE perintah Anda.

CREATE DATABASE sampledb FROM ARN <glue-database-arn> WITH NO DATA CATALOG SCHEMA;

Secara opsional, Anda juga dapat memberikan nilai ke dalam ROLE parameter IAM _. Untuk informasi selengkapnya tentang parameter dan nilai yang diterima, lihat Parameter.

Berikut ini adalah contoh yang menunjukkan cara membuat database dari ARN menggunakan IAM peran.

CREATE DATABASE sampledb FROM ARN <glue-database-arn> WITH NO DATA CATALOG SCHEMA IAM_ROLE <iam-role-arn>
CREATE DATABASE sampledb FROM ARN <glue-database-arn> WITH NO DATA CATALOG SCHEMA IAM_ROLE default;

Anda juga dapat membuat database menggunakan file DATA CATALOGSCHEMA.

CREATE DATABASE sampledb FROM ARN <glue-database-arn> WITH DATA CATALOG SCHEMA <sample_schema> IAM_ROLE default;

Buat database untuk menerima hasil nol- integrasi ETL

Untuk membuat database menggunakan identitas nol- ETL integrasi, tentukan integration_id dalam CREATE DATABASE perintah Anda.

CREATE DATABASE destination_db_name FROM INTEGRATION 'integration_id';

Misalnya, pertama, ambil id integrasi dari SVV _INTEGRATION;

SELECT integration_id FROM SVV_INTEGRATION;

Kemudian gunakan salah satu id integrasi yang diambil untuk membuat database yang menerima nol- ETL integrasi.

CREATE DATABASE sampledb FROM INTEGRATION 'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111';

Ketika database sumber nol ETL integrasi diperlukan, maka, misalnya, tentukan.

CREATE DATABASE sampledb FROM INTEGRATION 'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111' DATABASE 'sourcedb';

Anda juga dapat mengatur interval penyegaran untuk database. Misalnya, untuk mengatur interval penyegaran ke 7.200 detik untuk data dari sumber ETL integrasi nol:

CREATE DATABASE myacct_mysql FROM INTEGRATION 'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111' SET REFRESH_INTERVAL 7200;

Kueri tampilan INTEGRATION katalog SVV _ untuk informasi tentang ETL integrasi nol, seperti, integration_id, target_database, source, refresh_interval, dan banyak lagi.

SELECT * FROM svv_integration;

CREATEDATABASEbatas

Amazon Redshift memberlakukan batasan ini untuk database:

  • Maksimal 60 basis data yang ditentukan pengguna per cluster.

  • Maksimum 127 byte untuk nama database.

  • Nama database tidak bisa menjadi kata yang dicadangkan.

Pengumpulan basis data

Collation adalah seperangkat aturan yang mendefinisikan bagaimana mesin database membandingkan dan mengurutkan data tipe karakter. SQL Pemeriksaan case-insensitive adalah pemeriksaan yang paling umum digunakan. Amazon Redshift menggunakan pemeriksaan case-insensitive untuk memfasilitasi migrasi dari sistem gudang data lainnya. Dengan dukungan asli dari pemeriksaan case-insensitive, Amazon Redshift terus menggunakan metode penyetelan atau pengoptimalan penting, seperti kunci distribusi, kunci sortir, atau pemindaian terbatas rentang.

COLLATEKlausa menentukan pemeriksaan default untuk semua CHAR dan VARCHAR kolom dalam database. Jika CASE _ INSENSITIVE ditentukan, semua CHAR atau VARCHAR kolom menggunakan pemeriksaan case-insensitive. Untuk informasi tentang pemeriksaan, lihatUrutan pemeriksaan.

Data yang dimasukkan atau dicerna dalam kolom case-insensitive akan menyimpan case aslinya. Tetapi semua operasi string berbasis perbandingan termasuk penyortiran dan pengelompokan tidak peka huruf besar/kecil. Operasi pencocokan pola seperti LIKE predikat, mirip dengan, dan fungsi ekspresi reguler juga tidak peka huruf besar/kecil.

SQLOperasi berikut mendukung semantik pemeriksaan yang berlaku:

  • Operator perbandingan: =, <>, <, <=, >, >=.

  • LIKEoperator

  • ORDERBY klausa

  • GROUPBY klausa

  • Fungsi agregat yang menggunakan perbandingan string, seperti MIN dan dan MAX LISTAGG

  • Fungsi jendela, seperti klausa PARTITION BY dan ORDER klausa BY

  • Fungsi skalar terbesar () dan terkecil (), STRPOS (), REGEXP _ COUNT (), REGEXP _ REPLACE (), REGEXP _ INSTR (), REGEXP _ SUBSTR ()

  • Klausa yang berbeda

  • UNION, INTERSECT dan EXCEPT

  • DI LIST

Untuk kueri eksternal, termasuk kueri SQL gabungan Amazon Redshift Spectrum dan Aurora Postgre, pengumpulan VARCHAR atau CHAR kolom sama dengan pemeriksaan tingkat database saat ini.

Contoh berikut menanyakan tabel Amazon Redshift Spectrum:

SELECT ci_varchar FROM spectrum.test_collation WHERE ci_varchar = 'AMAZON'; ci_varchar ---------- amazon Amazon AMAZON AmaZon (4 rows)

Untuk informasi tentang cara membuat tabel menggunakan pemeriksaan database, lihatCREATE TABLE.

Untuk informasi tentang COLLATE fungsi, lihatCOLLATE fungsi.

Batasan pemeriksaan basis data

Berikut ini adalah batasan saat bekerja dengan pemeriksaan database di Amazon Redshift:

  • Semua tabel atau tampilan sistem, termasuk tabel katalog PG dan tabel sistem Amazon Redshift peka huruf besar/kecil.

  • Ketika database konsumen dan database produsen memiliki kumpulan tingkat database yang berbeda, Amazon Redshift tidak mendukung kueri lintas basis data dan lintas klaster.

  • Amazon Redshift tidak mendukung pemeriksaan case-insensitive dalam kueri khusus node pemimpin.

    Contoh berikut menunjukkan kueri case-insensitive yang tidak didukung dan kesalahan yang dikirimkan Amazon Redshift:

    SELECT collate(usename, 'case_insensitive') FROM pg_user; ERROR: Case insensitive collation is not supported in leader node only query.
  • Amazon Redshift tidak mendukung interaksi antara kolom case-sensitive dan case-sensitive, seperti perbandingan, fungsi, gabungan, atau operasi set.

    Contoh berikut menunjukkan kesalahan saat kolom peka huruf besar/kecil dan tidak peka huruf besar/kecil berinteraksi:

    CREATE TABLE test (ci_col varchar(10) COLLATE case_insensitive, cs_col varchar(10) COLLATE case_sensitive, cint int, cbigint bigint);
    SELECT ci_col = cs_col FROM test; ERROR: Query with different collations is not supported yet.
    SELECT concat(ci_col, cs_col) FROM test; ERROR: Query with different collations is not supported yet.
    SELECT ci_col FROM test UNION SELECT cs_col FROM test; ERROR: Query with different collations is not supported yet.
    SELECT * FROM test a, test b WHERE a.ci_col = b.cs_col; ERROR: Query with different collations is not supported yet.
    Select Coalesce(ci_col, cs_col) from test; ERROR: Query with different collations is not supported yet.
    Select case when cint > 0 then ci_col else cs_col end from test; ERROR: Query with different collations is not supported yet.
  • Amazon Redshift tidak mendukung pemeriksaan untuk SUPER tipe data. Membuat SUPER kolom dalam database case-insensitive dan interaksi antara SUPER dan kolom case-insensitive tidak didukung.

    Contoh berikut membuat tabel dengan SUPER sebagai tipe data dalam database case-insensitive:

    CREATE TABLE super_table (a super); ERROR: SUPER column is not supported in case insensitive database.

    Contoh berikut query data dengan string case-insensitive dibandingkan dengan data: SUPER

    CREATE TABLE test_super_collation (s super, c varchar(10) COLLATE case_insensitive, i int);
    SELECT s = c FROM test_super_collation; ERROR: Coercing from case insensitive string to SUPER is not supported.

Untuk membuat kueri ini berfungsi, gunakan COLLATE fungsi untuk mengonversi pemeriksaan satu kolom agar sesuai dengan yang lain. Untuk informasi selengkapnya, lihat COLLATE fungsi.

Contoh

Membuat basis data

Contoh berikut membuat database bernama TICKIT dan memberikan kepemilikan kepada penggunaDWUSER.

create database tickit with owner dwuser;

Untuk melihat detail tentang database, kueri tabel katalog PG_ DATABASE _INFO.

select datname, datdba, datconnlimit from pg_database_info where datdba > 1; datname | datdba | datconnlimit -------------+--------+------------- admin | 100 | UNLIMITED reports | 100 | 100 tickit | 100 | 100

Contoh berikut membuat database bernama sampledb dengan tingkat SNAPSHOT isolasi.

CREATE DATABASE sampledb ISOLATION LEVEL SNAPSHOT;

Contoh berikut membuat database sales_db dari datashare salesshare.

CREATE DATABASE sales_db FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';

Contoh pengumpulan basis data

Membuat database case-insensitive

Contoh berikut membuat sampledb database, membuat T1 tabel, dan menyisipkan data ke dalam T1 tabel.

create database sampledb collate case_insensitive;

Connect ke database baru yang baru saja Anda buat menggunakan SQL klien Anda. Saat menggunakan editor kueri Amazon Redshift v2, pilih sampledb di Editor. Saat menggunakanRSQL, gunakan perintah seperti berikut ini.

\connect sampledb;
CREATE TABLE T1 ( col1 Varchar(20) distkey sortkey );
INSERT INTO T1 VALUES ('bob'), ('john'), ('Mary'), ('JOHN'), ('Bob');

Kemudian kueri menemukan hasil denganJohn.

SELECT * FROM T1 WHERE col1 = 'John'; col1 ------ john JOHN (2 row)
Memesan dalam urutan tidak peka huruf besar/kecil

Contoh berikut menunjukkan urutan case-insensitive dengan tabel T1. Urutan Bob dan bob atau John dan john adalah nondeterministik karena mereka sama dalam kolom case-insensitive.

SELECT * FROM T1 ORDER BY 1; col1 ------ bob Bob JOHN john Mary (5 rows)

Demikian pula, contoh berikut menunjukkan urutan case-insensitive dengan klausa BY. GROUP Bob dan bob sama dan termasuk dalam kelompok yang sama. Ini adalah nondeterministik yang mana yang muncul dalam hasilnya.

SELECT col1, count(*) FROM T1 GROUP BY 1; col1 | count -----+------ Mary | 1 bob | 2 JOHN | 2 (3 rows)
Menanyakan dengan fungsi jendela pada kolom yang tidak peka huruf besar/kecil

Contoh berikut menanyakan fungsi jendela pada kolom case-insensitive.

SELECT col1, rank() over (ORDER BY col1) FROM T1; col1 | rank -----+------ bob | 1 Bob | 1 john | 3 JOHN | 3 Mary | 5 (5 rows)
Menanyakan dengan kata kunci DISTINCT

Contoh berikut query T1 tabel dengan DISTINCT kata kunci.

SELECT DISTINCT col1 FROM T1; col1 ------ bob Mary john (3 rows)
Menanyakan dengan klausa UNION

Contoh berikut menunjukkan hasil UNION dari tabel T1 danT2.

CREATE TABLE T2 AS SELECT * FROM T1;
SELECT col1 FROM T1 UNION SELECT col1 FROM T2; col1 ------ john bob Mary (3 rows)