`

sql update delete 中 使用 inner join

阅读更多


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 语法 SQL 总结 SQL教程

    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 进行 查询/删除/修改示例

    MySQL中的INNER JOIN是一种关联两个或更多表的查询方式,它只返回两个表中存在匹配记录的结果。INNER JOIN在数据操作语言(DML)中扮演着重要角色,支持查询、删除和修改操作。以下是对这些操作的详细解释: **查询...

    Sql 语句详解

    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 ...

    SQL50道练习题(附答案)

    - **知识点**: 使用`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# =...

    SQLSERVER(WITH T 的基础语法使用,增删改查)

    在SQL Server中,可以使用`CREATE TABLE`语句定义新表的结构。例如: ```sql CREATE TABLE Employees ( ID INT PRIMARY KEY, Name VARCHAR(50), Department VARCHAR(50) ); ``` **插入数据(Insert)** `INSERT...

    SQL manager学习\使用SQLServer2005查询和管理数据

    SQL Server 2005支持多种类型的连接,包括内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。例如,假设你有两个表`Departments`和`Employees`,并且想找出每个部门的所有...

    SQL 必知必会.pdf

    * 可移植性:SQL 语言可以在多种不同的数据库管理系统中使用。 2. SQL 数据类型 SQL 语言支持多种数据类型,包括: * 数字类型:int、smallint、tinyint、float、double 等。 * 字符串类型:varchar、char、text ...

    sql processing with sas system(SAS中sql应用)

    PROC SQL允许用户执行各种SQL命令,包括SELECT、INSERT、UPDATE、DELETE等,这些命令可以帮助用户高效地处理和分析数据。 #### 三、SAS中的SQL语句详解 **3.1 SELECT语句** SELECT语句是最常用的SQL语句之一,...

    Inside Microsoft SQL Server 2008 T-SQL Programming

    2. **高级查询**:学习使用子查询、联接(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN)、集合操作(UNION、INTERSECT、EXCEPT)以及窗口函数(ROW_NUMBER、RANK、DENSE_RANK等)进行复杂的数据检索。 3. **数据...

    sql基本用法 标准sql和特殊数据库sql

    常见的有INNER JOIN, LEFT JOIN, RIGHT JOIN和FULL JOIN。 ```sql SELECT * FROM table1 INNER JOIN table2 ON table1.common_column = table2.common_column; ``` 7. 子查询:在查询中嵌套查询,用于处理更复杂...

    《sql入门使用与高级使用篇》

    1. **联接(JOIN)**:通过INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN等连接多个表,合并相关数据。 2. **子查询**:在查询中嵌套查询,解决更复杂的逻辑问题。 3. **视图(VIEW)**:创建虚拟表,方便...

    arcgis 的sql语句.doc

    ArcGIS 中的 SQL 语句应用 ArcGIS 学习笔记中的 SQL 语句是学习 ArcGIS 中的重要组成部分。本文将详细介绍 SQL 语句在 ...SQL 语句在 ArcGIS 中的应用非常广泛,了解 SQL 语句可以帮助我们更好地使用 ArcGIS 工具。

    SQL帮助文件(使用说明)

    9. **SQL与编程语言的交互**:SQL通常与各种编程语言(如Java, Python, C#等)结合使用,学习如何在这些语言中执行SQL语句,如使用JDBC, PDO, SQLAlchemy等库,是实际开发中的常见技能。 `www.pudn.com.txt`可能是...

    SQL创建触发器示例语句

    触发器是数据库中一种特殊类型的存储过程,它被定义为在特定事件(如INSERT、UPDATE或DELETE操作)发生时自动执行的一组SQL语句。本文将详细介绍如何创建一个触发器来确保当对一张表进行更新时,另一张相关的表也会...

    使用案例加深对MySQL SQL查询理解

    使用INNER JOIN、LEFT JOIN、RIGHT JOIN等不同类型的JOIN取决于你的需求,合理设计表结构和选择合适的JOIN类型能提高查询效率。 子查询也是SQL查询中常见的部分,它们可以嵌套在其他查询中提供额外的筛选或计算。...

    Excel_VBA+ADO+SQL入门教程_-_汇总.pdf

    SQL 语言是一种declarative 语言,使用SELECT 语句来查询数据,使用INSERT、UPDATE 和 DELETE 语句来修改数据。 如何在 VBA 中执行 SQL 语句 在 VBA 中,我们可以使用 ADO(ActiveX Data Objects)对象来执行 SQL ...

    Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码

    2. **JOIN操作**:T-SQL支持INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN等不同类型的连接,用于合并来自两个或更多表的数据。 3. **子查询**:嵌套在其他查询中的查询,可以作为表达式的一部分或者在WHERE...

    SQL 2008 基本和提升的SQL 语句

    --在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) --只...

    SQL 入门与使用SQL 入门与使用

    常见的`JOIN`类型包括`INNER JOIN`、`LEFT JOIN`、`RIGHT JOIN`和`FULL JOIN`等。 ##### 2. 子查询 子查询是指在一个查询语句中嵌入另一个查询语句。子查询可以出现在`SELECT`、`INSERT`、`UPDATE`和`DELETE`语句...

    SQLServer中复杂sql语句查询

    SQL Server支持多种联接类型,如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全外连接(FULL OUTER JOIN),用于在多个表之间提取数据。例如,当需要从销售订单表和客户表中获取订单信息及其对应的...

Global site tag (gtag.js) - Google Analytics