zoukankan      html  css  js  c++  java
  • SQL Server中使用DELETE INNER或UPDATE INNER

    在 SQL Server 中使用 DELETEUPDATEINNER JOIN 关键字与 Access 的常规写法不同。
    Access中写为:
    delete from t1 inner join t2 on t1.id = t2.tid
    而SQL Server中须写为:
    delete from t1 from t1 inner join t2 on t1.id = t2.tid
    注意蓝线部分!
    同样,Update的写法也有所有不同。
    Access中:
    update t1 inner join t2 on t1.id = t2.tid set t1.name='Liu'
    SQL Server中:
    update t1 set t1.name='Liu' from t1 inner join t2 on t1.id = t2.tid
    参照文档:

    http://www.sqlmag.com/Articles/Index.cfm?ArticleID=8808

    Editor's Note: This is the debut of T-SQL Black Belt, a series of articles that demonstrate practical, advanced tips for using T-SQL. Send your experts-only T-SQL tips to SQL Server MVP Itzik Ben-Gan at blackbelt@sqlmag.com. If we use your submission, you'll receive $100 and an exclusive T-SQL Black Belt shirt.

    Sometimes you need to modify data, but the criteria that define which rows will be affected are based on data that doesn't exist in the modified table but in another table. You could use subqueries to solve the problem; or you could use a syntax that originated from Sybase and uses joins in the DELETE and UPDATE statements. This syntax isn't ANSI-compliant and might look strange at first glance. But if you're comfortable writing join statements, you'll find the syntax convenient, especially for inside triggers, in which you usually need to join the base table to the inserted or deleted tables.

    These examples use Northwind sample database tables. Let's start with an abbreviated form of the DELETE statement syntax:

    DELETE [FROM] <modified_table>
    [FROM <modified_table> <join_type>
    JOIN <another_table>
    ON <join_condition>]
    [WHERE <search_condition>]

    Suppose you want to delete from the Order Details table all rows for orders that the customer VINET places. The problem is that the Order Details table doesn't have information about the customer who made the order; this information is in the Orders table. The following DELETE statement will delete the appropriate rows: . . .

  • 相关阅读:
    Docker(五):Dockerfile
    Docker(四):Docker常用命令
    CentOS搭建NodeJs服务器—Mongodb安装
    CentOS7 yum 安装git
    Linux kswapd0 进程CPU占用过高
    数据库-最开始的数据库建立
    小程序-自定义组件数据传递
    jQuery-很上头的语言基础整理
    小程序-自定义组件理解
    vue中图片预览(v-viewer库使用)
  • 原文地址:https://www.cnblogs.com/jyzjh/p/1444460.html
Copyright © 2011-2022 走看看