`

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)
分享到:
评论

相关推荐

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

    FROM 子查询 FROM 子句中的子查询 MySQL FROM 子查询是指 FROM 的子句作为子查询语句,主查询再到子查询结果中获取需要的数据。FROM 子查询语法如下: SELECT ... FROM (subquery) AS name ... 子查询会生成一个...

    精通SQL 结构化查询语言详解

    10.2.4 EXISTS子查询实现两表交集  10.2.5 SOME/ALL子查询  10.2.6 UNIQUE子查询  10.3 相关子查询  10.3.1 使用IN引入相关子查询  10.3.2 比较运算符引入相关子查询 10.3.3 在HAVING子句中使用相关子...

    精通sql结构化查询语句

    11.1.4 由VALUES关键字插入多行数据 11.1.5 使用SELECT语句插入数据 11.1.6 通过视图插入数据 11.1.7 使用子查询插入数据 11.2 数据的更新操作 11.2.1 UPDATE语句的基本语法 11.2.2 使用UPDATE语句更新指定的列值 ...

    oracle 高级查询

    相关子查询在对每个候选行必须返回一个不同结果的子查询是有用的 EXISTS运算符是一个布尔林运算符,测试数值是否存在 相关于查询可以和SELECT,UPDATE和DELETE命令一起使用 当相同的查询发生多次,你可以使用WITH...

    精通SQL--结构化查询语言详解

    10.2.4 exists子查询实现两表交集 194 10.2.5 some/all子查询 195 10.2.6 unique子查询 197 10.3 相关子查询 198 10.3.1 使用in引入相关子查询 198 10.3.2 比较运算符引入相关子查询 200 10.3.3 在having子句...

    SQL语句教程.doc

    SQL指令 2 SELECT 2 DISTINCT 3 WHERE 4 AND OR 5 IN 5 BETWEEN 6 LIKE 7 ORDER BY 8 函数 10 ...子查询 40 EXISTS 42 CASE 43 算排名 44 算中位数 45 算总合百分比 47 算累积总合百分比 48 SQL语法 49

    T-SQL高级查询

    子查询是一个嵌套在select、insert、update或delete语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。子查询也称为内部查询或内部选择,而包含子查询的语句也成为外部查询或外部选择。 # ...

    SQL语句教程.pdf

    子查询 EXISTS CASE 算排名 算中位数 算总合百分比 算累积总合百分比 SQL 语法 无论您是一位 SQL 的新手,或是一位只是需要对 SQL 复习一下的资料仓储业界老将,您 就来对地方了。这个 SQL 教材网站列出常用的 SQL ...

    程序员的SQL金典6-8

     8.5.2 子查询在UPDATE语句中的应用  8.5.3 子查询在DELETE语句中的应用 第9章 主流数据库的SQL语法差异解决方案  9.1 SQL语法差异分析  9.1.1 数据类型的差异  9.1.2 运算符的差异  9.1.3 函数的差异  9.1.4...

    程序员的SQL金典7-8

     8.5.2 子查询在UPDATE语句中的应用  8.5.3 子查询在DELETE语句中的应用 第9章 主流数据库的SQL语法差异解决方案  9.1 SQL语法差异分析  9.1.1 数据类型的差异  9.1.2 运算符的差异  9.1.3 函数的差异  9.1.4...

    程序员的SQL金典4-8

     8.5.2 子查询在UPDATE语句中的应用  8.5.3 子查询在DELETE语句中的应用 第9章 主流数据库的SQL语法差异解决方案  9.1 SQL语法差异分析  9.1.1 数据类型的差异  9.1.2 运算符的差异  9.1.3 函数的差异  9.1.4...

    程序员的SQL金典3-8

     8.5.2 子查询在UPDATE语句中的应用  8.5.3 子查询在DELETE语句中的应用 第9章 主流数据库的SQL语法差异解决方案  9.1 SQL语法差异分析  9.1.1 数据类型的差异  9.1.2 运算符的差异  9.1.3 函数的差异  9.1.4...

    C#开发经验技巧宝典

    0897 EXISTS与子查询联合应用 525 0898 在FROM子句中的子查询 525 0899 在DELETE语句中应用子查询 526 0900 子查询与聚合函数的应用 526 0901 有效使用内连接 526 0902 如何使用LEFT OUTER JOIN查询 526...

    程序员的SQL金典.rar

     8.5.2 子查询在UPDATE语句中的应用  8.5.3 子查询在DELETE语句中的应用 第9章 主流数据库的SQL语法差异解决方案  9.1 SQL语法差异分析  9.1.1 数据类型的差异  9.1.2 运算符的差异  9.1.3 函数的差异  9.1.4...

    Java数据库编程宝典2

    7.5.3 使用带有UPDATE命令的子查询 7.5.4 使用带有DELETE命令的子查询 7.5.5 关联子查询 7.6 JDBC ResultSet 7.6.1 ResultSetMetaData 7.6.2 使用具有JDBC的SELECT来返回RecordSet 7.7 基于Swing的SQL查询...

    Java数据库编程宝典4

    7.5.3 使用带有UPDATE命令的子查询 7.5.4 使用带有DELETE命令的子查询 7.5.5 关联子查询 7.6 JDBC ResultSet 7.6.1 ResultSetMetaData 7.6.2 使用具有JDBC的SELECT来返回RecordSet 7.7 基于Swing的SQL查询...

    Java数据库编程宝典1

    7.5.3 使用带有UPDATE命令的子查询 7.5.4 使用带有DELETE命令的子查询 7.5.5 关联子查询 7.6 JDBC ResultSet 7.6.1 ResultSetMetaData 7.6.2 使用具有JDBC的SELECT来返回RecordSet 7.7 基于Swing的SQL查询...

    Java数据库编程宝典3

    7.5.3 使用带有UPDATE命令的子查询 7.5.4 使用带有DELETE命令的子查询 7.5.5 关联子查询 7.6 JDBC ResultSet 7.6.1 ResultSetMetaData 7.6.2 使用具有JDBC的SELECT来返回RecordSet 7.7 基于Swing的SQL查询...

    MySQL命令大全

     此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。现在我们结束操作并退出MySQL客户程序:  mysql> exit  Bye9! 1:使用SHOW语句找出在服务器上当前存在什么...

    详细讲述MySQL中的子查询操作

    继续做以下的前期准备工作:  新建一个测试数据库TestDB;   create database TestDB;  创建测试表table1和table2; CREATE TABLE table1 ( customer_id VARCHAR(10) NOT NULL, ... order_

Global site tag (gtag.js) - Google Analytics