`

update 子查询 exists

 
阅读更多


要根据一个表的数据订正另一个表的部分,

例如,要订正xy1表的字段a为xy2表中的字段a的值,即,订正表xy1中id为1,2,3的记录的a字段的值,id为4,5的记录保持不变。可用uodate exists语句:

mysql> select * from xy1;
+----+------+------+
| id | a    | b    |
+----+------+------+
|  1 | t1   |    3 |
|  2 | t2   |    4 |
|  3 | t3   |    5 |
|  4 | t4   |    8 |
|  5 | t5   |    7 |
+----+------+------+
5 rows in set (0.07 sec)

mysql> select * from xy2;
+----+------+
| id | a    |
+----+------+
|  1 | y10  |
|  2 | y20  |
|  3 | y30  |
+----+------+
3 rows in set (0.00 sec)

mysql>  update xy1 set a=(select a from xy2 where xy1.id=xy2.id) where exists(select 1 from xy2 where xy1.id=xy2.id);
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> select * from xy1;
+----+------+------+
| id | a    | b    |
+----+------+------+
|  1 | y10  |    3 |
|  2 | y20  |    4 |
|  3 | y30  |    5 |
|  4 | t4   |    8 |
|  5 | t5   |    7 |
+----+------+------+
5 rows in set (0.03 sec)

mysql> select * from xy2;
+----+------+
| id | a    |
+----+------+
|  1 | y10  |
|  2 | y20  |
|  3 | y30  |
+----+------+
3 rows in set (0.03 sec)
分享到:
评论

相关推荐

    update 子查询使用介绍

    本文将深入探讨`UPDATE`子查询的使用、关联子查询与非关联子查询的区别、提示(HINT)的使用以及执行计划的查看,并提供实际示例。 1. **关联子查询与非关联子查询** - **关联子查询**:在关联子查询中,外部查询...

    sql子查询总结

    子查询总是写在圆括号中,可以用在使用表达式的任何地方,如 Select、Insert、Update 或 Delete 语句或其他子查询中。 子查询也称为内部查询或内部选择,而包含子查询的语句也称为外部查询或外部选择。许多包含子...

    MS_SQL server 多表查询 子查询小总结

    子查询总是被写在圆括号中,并且可以被用在使用表达式的任何地方,例如:嵌套在 `SELECT`、`INSERT`、`UPDATE` 或 `DELETE` 语句中,甚至其他子查询中。 #### 二、子查询的特点与用途 子查询也被称为**内部查询**或...

    SQL子查询和嵌套查询.pdf

    4. 使用EXISTS操作符的子查询:`WHERE EXISTS (子查询)`或`WHERE NOT EXISTS (子查询)`,检查子查询是否返回至少一行数据。 在实际应用中,子查询可以非常灵活,例如,我们可以用子查询来找出所有参加了考试的学生...

    MySQL的子查询中FROM和EXISTS子句的使用教程

    本文将重点讲解在MySQL中如何使用FROM子查询和EXISTS子句。 首先,我们来看FROM子查询。FROM子查询在MySQL中指的是将子查询结果作为一个临时表,然后在主查询中使用这个临时表的数据。这种子查询常被称为衍生数据表...

    在ADO(sql)中使用SELECT的语法之六-子查询的使用方法

    - **NOT EXISTS**:如果子查询不返回任何记录,则为真。 - 示例:将上述示例中的`EXISTS`改为`NOT EXISTS`,则查询将返回那些在订单表中不存在数量大于100的订单的产品记录。 #### 四、子查询的应用实例 接下来...

    25.Oracle子查询1

    子查询可以被用在SELECT、INSERT、UPDATE和DELETE命令中,甚至可以在一个子查询内部再嵌套其他子查询,以实现复杂的数据操作和分析。下面将详细讲解Oracle子查询的使用及其在上述示例中的应用。 1. **子查询的类型...

    sql子查询总结[参考].pdf

    子查询总是写在圆括号中,可以用在使用表达式的任何地方,如Select、Insert、Update或Delete语句或其他子查询中。子查询也称为内部查询或内部选择,而包含子查询的语句也称为外部查询或外部选择。 子查询的组件包括...

    子查询与高级查询PPT学习教案.pptx

    子查询可以出现在SELECT、UPDATE或DELETE语句中,通常作为WHERE或HAVING子句的一部分。在本章的学习中,我们将深入探讨子查询的使用,包括不同类型的子查询、在WHERE和HAVING子句中的应用,以及如何使用IN、ANY、ALL...

    SQL子查询和嵌套查询[收集].pdf

    子查询可以在SELECT、INSERT、UPDATE或DELETE命令中作为表达式的一部分出现,甚至可以嵌套在其他子查询中。其基本语法结构包括在一个SELECT语句中定义子查询,通常用圆括号括起来。子查询不能包含COMPUTE或FOR ...

    使用子查询SQLServer程序设计语言PPT学习教案.pptx

    此外,子查询可以嵌套在多种SQL语句中,如`SELECT`、`INSERT`、`UPDATE`或`DELETE`的`WHERE`或`HAVING`子句中,甚至可以嵌套在其他子查询中。虽然最多可以嵌套32层,但通常应尽量保持查询结构简洁,避免过度嵌套。 ...

    Oracle数据库应用教程--子查询与高级查询.pptx

    子查询可以出现在SELECT、UPDATE或DELETE语句中,并在WHERE或HAVING子句中使用。 1. **子查询类型**: - **单行子查询**:返回单一值,可以与单行操作符如=、>、<等一起使用。 - **多行子查询**:返回一个或多个...

    SQL编程之子查询及注意事项

    子查询可以被用在多种SQL语句中,如SELECT、INSERT、UPDATE和DELETE,甚至可以在其他子查询中嵌套,用于构建复杂的查询结构。以下是关于子查询及其注意事项的详细说明: 1. **子查询的定义与应用** - 子查询通常在...

    ORACLE_UPDATE_语句语法与性能分析

    - **子查询UPDATE**:如果子查询能够快速返回结果,性能还可以。但如果子查询执行得慢,整体性能会受到影响。 优化UPDATE语句的方法包括: - **使用索引**:确保关联或WHERE子句中的列有适当的索引。 - **避免全表...

    Sybase SQL Server中子查询的设计和使用.pdf

    限定谓词子查询是由 in/not in、exists/not exists 或带 any/all 限定的比较运算符引导的子查询,子查询返回 0 个或多个数据值的列表。 每一类子查询按与外部查询的关系可以分为相关(重复)子查询或非相关子查询。...

    9#-第9章.ppt

    首先,子查询被定义为一个嵌套在DML(SELECT、INSERT、UPDATE、DELETE)语句中的SELECT语句。这种结构使得我们能够在一次查询中完成多个步骤,提高了查询的灵活性。子查询可以分为两类:嵌套子查询和相关子查询。嵌...

Global site tag (gtag.js) - Google Analytics