Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Cara Membuat Tabel dari SQL Query

Masalah:

Anda ingin membuat tabel baru dalam database dengan data yang ditentukan oleh kueri SQL.

Contoh:

Kami ingin membuat tabel gamer berdasarkan kueri SQL. Dalam kueri ini, kami memilih data dari tabel lain bernama championship disajikan di bawah ini.

id gamer skor tanggal_kejuaraan
1 alice 14 10-08-2020
2 pengawas 10 28-09-2020
3 pria bahagia 0 10-08-2020
4 lukas 6 10-08-2020
5 oli 12 10-08-2020
6 penggemar hebat 7 12-09-2020

Di database, mari buat tabel baru bernama gamer yang akan menyimpan data di semua kolom yang ditentukan dalam tabel championship (id , gamer , score , dan championship_date ).

Solusi 1:

CREATE TABLE gamer 
AS  
SELECT
  *
FROM championship;

Diskusi:

Jika Anda ingin membuat tabel baru, langkah pertama adalah menggunakan CREATE TABLE klausa dan nama tabel baru (dalam contoh kami:gamer ). Kemudian, gunakan AS kata kunci dan berikan SELECT pernyataan yang memilih data untuk tabel baru. Dalam contoh kami, kami memilih semua kolom dari tabel championship dengan menggunakan tanda bintang (*). Kumpulan hasil menampilkan semua rekor dalam tabel championship .

Namun, jika Anda ingin membuat tabel dengan hanya subset record, Anda dapat menentukan kueri yang dipilih seperti pada contoh di bawah ini.

Solusi 2:

CREATE TABLE gamer 
AS  
SELECT
  gamer, score, championship_date
FROM championship 
WHERE championship_date <= 2020-08-10;

Berikut adalah kumpulan hasil:

gamer skor tanggal_kejuaraan
alice 14 10-08-2020
pria bahagia 0 10-08-2020
lukas 6 10-08-2020
oli 12 10-08-2020

SELECT kueri hanya mengambil catatan dengan championship_date tanggal sama dengan atau lebih lama dari 10-08-2020 (WHERE championship_date <= 2020-08-10 ). Tabel baru menyimpan lebih sedikit kolom daripada contoh sebelumnya (SELECT gamer, score, championship_date ) tanpa kolom id .

Solusi serupa untuk masalah ini adalah dengan menggunakan SELECT INTO klausa untuk membuat tabel baru dan menyalin data dari tabel lain. Perhatikan kodenya:

Solusi 3:

SELECT
  gamer, score, championship_date
INTO gamer
FROM championship 
WHERE championship_date <= 2020-08-10;

Tabel yang dihasilkan adalah sama. Perhatikan bahwa konstruksi ini tidak ada dalam standar SQL. Dalam perintah SQL ini, pertama kita tulis SELECT , lalu daftar kolom, selanjutnya kata kunci INTO , dan terakhir nama tabel baru yang ingin kita buat. Selanjutnya, Anda dapat menambahkan WHERE dan klausa SQL lainnya seperti GROUP BY atau HAVING untuk memfilter record untuk tabel baru.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Unduh salinan database Anda

  2. 30 Pertanyaan Wawancara Kueri SQL Teratas yang Harus Anda Latih Pada 2022

  3. SQL ORDER OLEH

  4. Dapatkan dinyalakan dengan Apache Spark – Bagian 1

  5. Bagaimana Rencana Paralel Memulai – Bagian 3