Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

Inserting records using subqueries

In this page, we are discussing the inserting rows of another table using subquery.

Example:

Sample table: agent1


Sample table: agents


To insert all records into 'agent1' table from 'agents' table, the following SQL statement can be used:

SQL Code:

INSERT INTO agent1
SELECT * FROM  agents;

Inserting records using subqueries with where clause

In this page we are discussing, how to insert rows using INSERT INTO statement, where rows are results of a subquery, made up of SQL SELECT statement with WHERE clause.

Example:

Sample table: agent1


Sample table: agents


To insert records into 'agent1' table from 'agents' table with the following condition -

1. 'working_area' of 'agents' table must be 'London',

the following SQL statement can be used:

SQL Code:

INSERT INTO agent1
SELECT * FROM  agents
WHERE working_area="London";

SQL inserting records using subqueries with any operator

In the following we are going to discuss, how an ANY operator can participate in an INSERT INTO statement.

Example:

Sample table: agent1


Sample table: agents


Sample table: customer


To insert records into 'agent1' table from 'agents' table with the following conditions -

1. 'agent_code' of 'agents' table must be any 'agent_code' from 'customer' table which satisfies the condition bellow :

2. 'cust_country' of customer table must be 'UK',

the following SQL statement can be used:

SQL Code:

INSERT INTO agent1
SELECT * FROM  agents
WHERE agent_code=ANY(
SELECT agent_code FROM customer
WHERE cust_country="UK");

SQL insert using subqueries with any operator and group by

In the following we are going to discuss, how an ANY operator with GROUP BY clause can participate in an INSERT INTO statement.

Example:

Sample table: agent1


Sample table: agents


Sample table: customer


Sample table: orders


To insert records into 'agent1' table from 'agents' table with the following conditions -

'agent_code' of agents table must be any 'agent_code' from 'customer' table which satisfies the condition bellow :

'agent_code' of customer table must be any 'agent_code' from 'orders'

table which satisfies the condition bellow :

same 'agent_code' of 'customer' table should come in a group,

'advance_amount' of 'orders' table must be more than 600,

the following SQL statement can be used:

SQL Code:

INSERT INTO agent1
SELECT * FROM  agents
WHERE agent_code=ANY(
SELECT agent_code FROM customer
WHERE agent_code =ANY(
SELECT agent_code FROM orders
WHERE  advance_amount>600)
GROUP BY agent_code);

See our Model Database

Practice SQL Exercises

Want to improve the above article? Contribute your Notes/Comments/Examples through Disqus.

Previous: Inserting the result of a query in another table
Next: Insert using nested subqueries with any operator



SQL: Tips of the Day

SQL Server SELECT into existing table.

INSERT INTO dbo.TABLETWO
SELECT col1, col2
  FROM dbo.TABLEONE
 WHERE col3 LIKE @search_key

This assumes there's only two columns in dbo.TABLETWO - you need to specify the columns otherwise:

INSERT INTO dbo.TABLETWO
  (col1, col2)
SELECT col1, col2
  FROM dbo.TABLEONE
 WHERE col3 LIKE @search_key

Database: SQL Server

Ref: https://bit.ly/3y6tpA3