Sentry Answers>SQL>

How do you INSERT INTO VALUES from a SELECT FROM in every database in SQL?

How do you INSERT INTO VALUES from a SELECT FROM in every database in SQL?

Richard C.

The Problem

Although SQL has a series of standards, managed by ISO, all the database servers differ slightly in their support and implementation. If you want to insert rows into one table from another, what syntax should you use that will work in any implementation of SQL, such as MySQL, PostgreSQL, and SQL Server?

Assume you have the following two tables in your database:

Click to Copy
CREATE TABLE Person1 ( Id INT PRIMARY KEY, Name VARCHAR(255) ); CREATE TABLE Person2 ( Id INT PRIMARY KEY, Name VARCHAR(255) ); INSERT INTO Person1(Id, Name) VALUES (1, 'Amir'), (2, 'Sofia'), (3, 'Aya'), (4, 'Mateo'); INSERT INTO Person2(Id, Name) VALUES (5, 'Leila'), (6, 'Yara'), (7, 'Ndidi'), (8, 'Santiago');

The Solution

The most universal syntax to import rows from Person2 into Person1 is the following:

Click to Copy
INSERT INTO Person1 (Id, Name) SELECT Id, Name FROM Person2 WHERE Person2.Id > 6
  • Syntax.fmListen to the Syntax Podcast
  • Community SeriesIdentify, Trace, and Fix Endpoint Regression Issues
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark of Functional Software, Inc.