Update from Select MySQL Example

UPDATE table_name
SET column1 = (SELECT column2 FROM another_table WHERE condition)
WHERE condition;

If you want to do any manipulation with the data of MySQL database table. Like insert, update, select, and delete, these statements are available in MySQL. But you want to select in the update query itself. So for this, you have to create a query using MySQL.

In this tutorial, you will learn how to create select, and update in the same query mysql to modify and fetch data within a MySQL database.

Select and update in same query MySQL

Using the MySQL UPDATE FROM SELECT statement, you can update data in one table based on the values retrieved from another table.

Update from Select statement is used to update large amounts of data with a single query. It can be used to update one or multiple columns in a table with values retrieved from another table. This statement can be especially useful when you need to update data in a table based on the results of a complex query.

Syntax of the UPDATE FROM SELECT statement:

Here is the syntax of the UPDATE FROM SELECT statement in MySQL:

UPDATE table1
SET column1 = (SELECT column2 FROM table2 WHERE condition)
WHERE condition;

In this syntax, table1 is the name of the table you want to update, column1 is the name of the column you want to update, and table2 is the name of the table that you want to select data from. column2 is the name of the column that contains the values you want to update, and condition is the condition that determines which rows should be updated.

Example update from select MySQL

Let’s take an example to understand the UPDATE FROM SELECT statement better.

Suppose you have two tables, employees and salaries. The employees table contains the employee_id, first_name, last_name, and salary columns, while the salaries table contains the employee_id and salary columns.

And you want to update the salary column in the employees table with the values obtained from the salaries table. you can do this using the below given MySQL update from select query:

UPDATE employees
SET salary = (SELECT salary FROM salaries WHERE employees.employee_id = salaries.employee_id)
WHERE EXISTS (SELECT 1 FROM salaries WHERE employees.employee_id = salaries.employee_id);

In this query, you are updating the salary column in the employees table with the values obtained from the salary column in the salaries table. The condition employees.employee_id = salaries.employee_id ensures that only the salaries of matching employees are updated. The EXISTS subquery is used to avoid updating rows where there is no match in the salaries table.

Conclusion

That’s it, in this tutorial, you have learned how to use update and select statements in the same query in Mysql. By using this statement, developers can simplify their code and improve the performance of their database queries.

Recommended Tutorials

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?