When you need to update one table based on the other table -
it is called "correlated update". You have to repeat the same "where"
logic 2 times.
update maintab m
set (m.fname, m.lname) =
(select u.fname,u.lname from updatetab u where m.id=u.id)
where exists
(select null from updatetab u where m.id=u.id);
or variation: use "in" expression:
update maintab m
set (m.fname, m.lname) =
(select u.fname,u.lname from updatetab u where m.id=u.id)
where m.id in
(select u.id from updatetab);
or delete expression:
delete from maintab m
where exists
(select null from updatetab u where m.id=u.id);
Note: If you don't include the 2nd "where" clause - then ALL rows in the
main table will be updated (putting NULLs in all rows which are not part of the join)
======================
Please note: the following Sybase syntax DOES NOT WORK in DB2:
update maintab
set m.fname=u.fname, m.lname=u.lname
from maintab m, updates u
where m.id=u.id
======================
How to insert a row - but only if the row with the value of a file doesn't exist:
insert into mytable (mycolumn)
select '12345' from table (values 1) as dummy
where not exists (select 1 from mytable where mycolumn='12345')
分享到:
相关推荐
- **JOIN操作**:INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN用于合并多个表的数据。 - **子查询**:在查询语句中嵌套查询,用于复杂的数据筛选。 - **索引**:创建索引可提升查询性能,如`CREATE INDEX idx_...
6. **JOIN操作**:DB2支持多种JOIN类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN,以及自连接和多表连接。 7. **游标和存储过程**:DB2允许使用游标来逐行处理查询结果,并可以通过存储过程封装复杂...
- DML语句:INSERT、UPDATE、DELETE的用法,以及事务控制和回滚。 5. **安全性与权限** - 用户与角色:创建和管理数据库用户,以及分配角色和权限。 - 安全策略:介绍DB2的认证机制、授权模型和审计功能。 6. *...
在DB2中,SQL还有更高级的功能,如子查询、联接(JOIN)、视图(VIEW)、索引(INDEX)等。子查询允许在一个查询中嵌套另一个查询,用于处理复杂的数据筛选。联接操作将两个或更多表中的数据合并,如内连接(INNER ...
学习DB2 SQL首先要掌握的基本概念包括:SELECT语句(用于查询数据)、INSERT语句(用于插入数据)、UPDATE语句(用于更新数据)和DELETE语句(用于删除数据)。 二、DB2 SQL特性 1. DDL(Data Definition Language...
例如,SELECT语句用于查询数据,INSERT用于插入新记录,UPDATE用于修改已有记录,DELETE用于删除记录。此外,还可以使用JOIN操作连接多表,GROUP BY和HAVING用于聚合操作,WHERE子句过滤数据。 五、DB2安全性 DB2...
3. **SQL查询**:掌握SQL语句,如SELECT、INSERT、UPDATE、DELETE,以及JOIN操作和子查询。 4. **数据库安全性**:用户权限管理,角色,对象权限,以及如何实施访问控制策略。 5. **备份与恢复**:理解DB2的备份类型...
4. **SQL查询与数据操作**:DB2支持SQL语言,学习者需要熟练掌握SQL语句,包括SELECT用于查询数据,INSERT、UPDATE和DELETE用于数据增删改,以及JOIN操作用于数据整合。此外,还会涉及视图、存储过程和触发器的创建...
对于数据操作,DB2支持INSERT、UPDATE、DELETE等基本SQL语句,以及SELECT语句进行查询。通过JOIN、GROUP BY、HAVING等子句,可以实现多表关联查询、分组统计等功能。此外,DB2提供了事务处理机制,确保数据的一致性...
了解DML(Data Manipulation Language)语句,如CREATE TABLE、INSERT INTO、UPDATE、DELETE,以及事务处理(COMMIT、ROLLBACK)至关重要。 4. **查询优化**:DB2提供了丰富的查询优化手段,包括创建索引以加快查询...
在SQL查询方面,DB2支持标准的SQL语法,包括SELECT、INSERT、UPDATE和DELETE语句,用于数据的查询、插入、修改和删除。此外,还提供了复杂的查询操作,如联接(JOIN)、子查询、集合操作(UNION、INTERSECT和EXCEPT...
4. SQL语句:掌握基本的SQL语法,如SELECT、INSERT、UPDATE、DELETE,以及JOIN、子查询等高级用法。 5. 索引管理:创建和管理索引以提高查询效率,包括唯一索引、非唯一索引、聚集索引和非聚集索引。 6. 视图与存储...
DB2支持标准SQL语句,如SELECT用于查询数据,INSERT用于插入数据,UPDATE用于修改数据,以及DELETE用于删除数据。此外,你还将学习如何使用JOIN操作合并多个表的数据,以及使用GROUP BY和HAVING子句进行聚合查询。 ...
主要包括SELECT、INSERT、UPDATE和DELETE语句。SELECT语句用于从数据库表中检索数据,它能够对查询结果进行过滤(WHERE子句)、整合(GROUP BY子句)、排序(ORDER BY子句)以及过滤聚合数据(HAVING子句)。 3. ...
- WHERE子句:在SELECT、UPDATE和DELETE语句中,用于指定满足特定条件的记录。 - JOIN操作:合并两个或更多表的数据,基于它们之间的关联。 2. DB2数据类型: - 数值类型:如INT(整数)、DECIMAL(十进制)、...
- **基本SQL语句**:这一章将介绍如何使用基本的SQL语句进行数据操作,包括SELECT、INSERT、UPDATE和DELETE等语句。 - **SELECT**:用于从表中检索数据。 - **INSERT**:用于向表中插入新的数据行。 - **UPDATE**:...
重点讲解了SQL的四大基本操作:查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)。同时,也会介绍如何使用SQL进行数据定义,如创建表(CREATE TABLE)、索引(INDEX)以及视图(VIEW)。 ### 单元...
2. SQL语言:学习SQL的基本语法,包括SELECT语句、JOIN操作、聚合函数以及DML(数据操纵语言)操作,如INSERT、UPDATE和DELETE。 3. 安装与配置:了解DB2的安装过程,以及如何配置数据库实例和连接参数。 4. 数据...
1. SQL基础:课程可能从SQL的基本语法开始,包括SELECT语句用于查询数据,INSERT用于插入数据,UPDATE用于修改数据,以及DELETE用于删除数据。此外,还将涉及数据类型、表的创建和修改等基础知识。 2. 数据操作:...