SQL中使用update inner join和delete inner join.
Update
Update XXX set XXX where 这种写法大家肯定都知道,才发现update和delete居然支持inner join的update方式,这个在表间关联来做更新和删除操作非常有用.
列子:
update tb_User
set pass=''
from tb_User usr
inner join tb_Address addr on usr.nAddressFK = addr.nAddressID
where usr.id=123
update的格式是
update t1 set t1.name=’Liu’ from t1 inner join t2 on t1.id = t2.tid
MYSQL,ACCESS 写法如下:
UPDATE mem_world AS mw1 INNER JOIN mem_world AS mw2
ON mw1.parentid = mw2.wid
SET mw1.level = mw2.level
WHERE mw2.baseid = 107
AND mw2.parentid = 0
AND mw2.size > 1;
on是表连接的筛选条件
就是说,表连接后,会产生一个类似于临时的视图这么一个东西
where是从这个临时的视图中筛选数据的
所以,你首先要搞清,你的所谓的2个条件属于哪一种
Delete
delete 语句也是类似
delete from t1 from t1 inner join t2 on t1.id = t2.tid
注意蓝色部分。
mysql:
DELETE mwb FROM mem_world_building AS mwb INNER JOIN mem_world AS mw
ON mwb.wid = mw.wid
where mw.type between 11 and 15
and baseid = 107
and mw.parentid <> 0
and mw.size > 1;
下面是ORACLE的:
DELETE TABLE1 where exists ( select 1 from table2 where and table1.khid=table2.khid and FWDWID=8);
DELETE TABLE1 where KHID exists ( select KHID from table2 where FWDWID=8)
分享到:
相关推荐
SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Union SQL Select Into SQL Create DB SQL Create Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key ...
MySQL中的INNER JOIN是一种关联两个或更多表的查询方式,它只返回两个表中存在匹配记录的结果。INNER JOIN在数据操作语言(DML)中扮演着重要角色,支持查询、删除和修改操作。以下是对这些操作的详细解释: **查询...
17. SQL INNER JOIN 关键字 22 18. SQL LEFT JOIN 关键字 23 19. SQL RIGHT JOIN 关键字 24 20. SQL UNION 和 UNION ALL 操作符 26 21. SQL SELECT INTO 语句 28 22. SQL CREATE DATABASE 语句 29 23. SQL CREATE ...
- **知识点**: 使用`DELETE`语句结合`INNER JOIN`来删除符合条件的记录。 - **SQL语句**: ```sql DELETE FROM SC WHERE EXISTS ( SELECT 1 FROM Course C INNER JOIN Teacher T ON C.T# = T.T# WHERE SC.C# =...
在SQL Server中,可以使用`CREATE TABLE`语句定义新表的结构。例如: ```sql CREATE TABLE Employees ( ID INT PRIMARY KEY, Name VARCHAR(50), Department VARCHAR(50) ); ``` **插入数据(Insert)** `INSERT...
SQL Server 2005支持多种类型的连接,包括内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。例如,假设你有两个表`Departments`和`Employees`,并且想找出每个部门的所有...
* 可移植性:SQL 语言可以在多种不同的数据库管理系统中使用。 2. SQL 数据类型 SQL 语言支持多种数据类型,包括: * 数字类型:int、smallint、tinyint、float、double 等。 * 字符串类型:varchar、char、text ...
PROC SQL允许用户执行各种SQL命令,包括SELECT、INSERT、UPDATE、DELETE等,这些命令可以帮助用户高效地处理和分析数据。 #### 三、SAS中的SQL语句详解 **3.1 SELECT语句** SELECT语句是最常用的SQL语句之一,...
2. **高级查询**:学习使用子查询、联接(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN)、集合操作(UNION、INTERSECT、EXCEPT)以及窗口函数(ROW_NUMBER、RANK、DENSE_RANK等)进行复杂的数据检索。 3. **数据...
常见的有INNER JOIN, LEFT JOIN, RIGHT JOIN和FULL JOIN。 ```sql SELECT * FROM table1 INNER JOIN table2 ON table1.common_column = table2.common_column; ``` 7. 子查询:在查询中嵌套查询,用于处理更复杂...
1. **联接(JOIN)**:通过INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN等连接多个表,合并相关数据。 2. **子查询**:在查询中嵌套查询,解决更复杂的逻辑问题。 3. **视图(VIEW)**:创建虚拟表,方便...
ArcGIS 中的 SQL 语句应用 ArcGIS 学习笔记中的 SQL 语句是学习 ArcGIS 中的重要组成部分。本文将详细介绍 SQL 语句在 ...SQL 语句在 ArcGIS 中的应用非常广泛,了解 SQL 语句可以帮助我们更好地使用 ArcGIS 工具。
9. **SQL与编程语言的交互**:SQL通常与各种编程语言(如Java, Python, C#等)结合使用,学习如何在这些语言中执行SQL语句,如使用JDBC, PDO, SQLAlchemy等库,是实际开发中的常见技能。 `www.pudn.com.txt`可能是...
触发器是数据库中一种特殊类型的存储过程,它被定义为在特定事件(如INSERT、UPDATE或DELETE操作)发生时自动执行的一组SQL语句。本文将详细介绍如何创建一个触发器来确保当对一张表进行更新时,另一张相关的表也会...
使用INNER JOIN、LEFT JOIN、RIGHT JOIN等不同类型的JOIN取决于你的需求,合理设计表结构和选择合适的JOIN类型能提高查询效率。 子查询也是SQL查询中常见的部分,它们可以嵌套在其他查询中提供额外的筛选或计算。...
SQL 语言是一种declarative 语言,使用SELECT 语句来查询数据,使用INSERT、UPDATE 和 DELETE 语句来修改数据。 如何在 VBA 中执行 SQL 语句 在 VBA 中,我们可以使用 ADO(ActiveX Data Objects)对象来执行 SQL ...
2. **JOIN操作**:T-SQL支持INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN等不同类型的连接,用于合并来自两个或更多表的数据。 3. **子查询**:嵌套在其他查询中的查询,可以作为表达式的一部分或者在WHERE...
--在DELETE中使用FROM子句 DELETE FROM Person.ContactType FROM Person.ContactType ct INNER JOIN Person.AddressType at --通过内联接后再删除 ON ct.Name=at.Name --使用带TOP的DELETE语句 DELETE TOP(50) --只...
常见的`JOIN`类型包括`INNER JOIN`、`LEFT JOIN`、`RIGHT JOIN`和`FULL JOIN`等。 ##### 2. 子查询 子查询是指在一个查询语句中嵌入另一个查询语句。子查询可以出现在`SELECT`、`INSERT`、`UPDATE`和`DELETE`语句...
SQL Server支持多种联接类型,如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全外连接(FULL OUTER JOIN),用于在多个表之间提取数据。例如,当需要从销售订单表和客户表中获取订单信息及其对应的...