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);
Check out our 1000+ SQL Exercises with solution and explanation to improve your skills.
Previous: Inserting the result of a query in another table
Next: Insert using nested subqueries with any operator
SQL: Tips of the Day
SQL Query to concatenate column values from multiple rows in Oracle-
Table A:
PID A B C
Table B:
PID SEQ Desc A 1 Have A 2 a nice A 3 day. B 1 Nice Work. C 1 Yes C 2 we can C 3 do C 4 this work!
SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM B GROUP BY pid;
Output of the SQL should be -
PID Desc A Have a nice day. B Nice Work. C Yes we can do this work!
Database: Oracle
Ref: https://bit.ly/3ySR8o4
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook