Metoden för att spara resultaten från en SQL -fråga som en tabell beror på det specifika databassystem du använder. Men det allmänna konceptet är detsamma:du använder en "Skapa tabell ... som välj" -uttalande (eller en mycket liknande variation).
Här är exempel för några populära databassystem:
1. PostgreSQL:
`` `SQL
Skapa tabell new_table som
Välj kolumn1, kolumn2, ...
Från original_table
Där tillstånd;
`` `
Detta skapar en ny tabell med namnet `new_table 'med de angivna kolumnerna och fyller det med resultaten från frågan om" Select ". Byt ut `Column1`,` Column2`, etc. med de faktiska kolumnnamnen du vill inkludera, `ORIGINAL_TABLE 'med källtabellen och' där tillstånd '(valfritt) med alla filtreringskriterier.
2. Mysql:
`` `SQL
Skapa tabell new_table som
Välj kolumn1, kolumn2, ...
Från original_table
Där tillstånd;
`` `
MySQL använder samma syntax som PostgreSQL.
3. SQL Server:
`` `SQL
Välj kolumn1, kolumn2, ...
In i New_Table
Från original_table
Där tillstånd;
`` `
SQL Server använder en något annorlunda syntax. Klausulen `Into New_Table 'anger namnet på det nya tabellen.
4. Oracle:
`` `SQL
Skapa tabell new_table som
Välj kolumn1, kolumn2, ...
Från original_table
Där tillstånd;
`` `
Oracle's Syntax liknar PostgreSQL och MySQL.
Viktiga överväganden:
* Befintligt tabell: Om en tabell med namnet `new_table` redan finns får du ett fel. Du måste antingen släppa den befintliga tabellen först (med hjälp av "Drop Table New_Table;`), byta namn på det eller välja ett annat namn för ditt nya tabell.
* Datatyper: Datatyperna för kolumnerna i den nya tabellen kommer att härledas från datatyperna för kolumnerna i uttalandet "Select".
* Index: Den nya tabellen kommer inte automatiskt att ha några index. Du kan behöva skapa index senare av prestationsskäl, särskilt om du ofta kommer att fråga den nya tabellen.
* behörigheter: Se till att du har nödvändiga behörigheter för att skapa tabeller i databasen.
* Stora datasätt: För mycket stora datasätt, överväg att använda andra metoder som `infoga i ... välj 'för bättre prestanda. Detta tillvägagångssätt undviker att skapa hela tabellen i minnet på en gång. Metoden "Infoga i" är i allmänhet effektivare för stora dataöverföringar. Till exempel i PostgreSQL:
`` `SQL
Skapa tabell new_table (Column1 Type1, Column2 Type2, ...); -Definera tabellschema först
Infoga i New_Table
Välj kolumn1, kolumn2, ...
Från original_table
Där tillstånd;
`` `
Kom ihåg att ersätta platshållarna med din specifika tabell och kolumnnamn och justera syntaxen så att du matchar ditt databassystem. Säkerhetskopiera alltid dina data innan du gör betydande schemaändringar.