首页 > 数据库 >在SQL Server中,如何从SELECT更新?

在SQL Server中,如何从SELECT更新?

时间:2023-10-17 21:22:38浏览次数:41  
标签:col2 更新 Server SQL Table col1 id SELECT

内容来自 DOC[ https://q.houxu6.top/?s=在SQL Server中,如何从SELECT更新?](https://q.houxu6.top/?s=在SQL Server中,如何从SELECT更新?)

SQL Server 中,可以使用 INSERT.. SELECT 语句向表中插入行:

INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3 
FROM other_table 
WHERE sql = 'cool'

是否也可以使用 SELECT 更新表?我有一个临时表包含这些值,想使用这些值更新另一个表。也许像这样:

UPDATE Table SET col1, col2
SELECT col1, col2 
FROM other_table 
WHERE sql = 'cool'
WHERE Table.id = other_table.id

是的,也可以使用 SELECT 更新表。上述代码片段中的 UPDATE 语句将根据 other_table 中满足条件 sql = 'cool' 的行更新 Table 表。通过指定 WHERE 子句中的条件 Table.id = other_table.id,可以确保只更新与另一个表中具有相同 id 值的行。


更新表 Table_A 中的列 col1 和 col2,将其值设置为与 Some_Table 表(别名为 Table_A)中满足条件 col3 = 'cool' 的行对应的 Other_Table 表(别名为 Table_B)中的列 col1 和 col2 的值。更新方式为使用 INNER JOIN 连接两个表,连接条件为 Table_A.id = Table_B.id。

UPDATE
    Table_A
SET
    Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM
    Some_Table AS Table_A
    INNER JOIN Other_Table AS Table_B
        ON Table_A.id = Table_B.id
WHERE
    Table_A.col3 = 'cool'

标签:col2,更新,Server,SQL,Table,col1,id,SELECT
From: https://www.cnblogs.com/xiaomandujia/p/17770723.html

相关文章

  • 搭建MYSQL主从
    基于二进制日志文件位置的复制#根据前面的文档,搭建两台MySQL服务,具体步骤略192.129主192.127从#主:配置这一步是因为my.cnf在/etc/下的话,它不会识别,需要在mysqld.service启动脚本中定义路径,然后需要把/etc/my.cnf配置文件拷贝到定义的目录下vim/usr/lib/systemd/system/mysqld.s......
  • SQL Server2012 安装及问题处理
    安装方式:参考 SQLServe详细安装步骤_sqlserver安装教程_Dandi0707的博客-CSDN博客遇到的问题:等了半天一直卡在下图的界面 然后我决定手动开启NetFx3首先使用cmd命令输入control,回车然后点击程序 点击启动或关闭Windows功能 选中.NETFramework3.5再点击确定......
  • Ubuntu下PostgreSQL开启远程访问(解决postgresql 端口不对外开放问题)
    修改配置文件:sudovim/etc/postgresql/9.5/main/pg_hba.conf,在文件中添加 hostallall0.0.0.0/0md5。all :匹配任何IP地址。0.0.0.0/0:对于所有IPv4地址,允许任何ip地址以任何用户身份连接任何数据;::0/0:对于所有IPv6地址。md5:加密方式。·修改 postgresql.conf:执......
  • MySQL 联合查询
    MySQL联合查询在MySQL中,联合查询(也称为JOIN查询)是一种用于将多个表中的数据联接在一起的操作。这使得你可以从多个表中获取相关的数据,并创建复杂的查询。以下是一些常见的联合查询类型和示例:内连接(INNERJOIN):内连接用于获取两个或多个表之间具有匹配行的数据。只有在两个......
  • MySQL 中的索引
    MySQL中的索引MySQL中的索引是一种用于提高查询性能的数据结构。索引允许数据库引擎更快地定位和访问数据,减少了数据扫描的开销。下面是关于如何在MySQL中使用索引的一些重要信息和最佳实践:创建索引:在创建表时定义索引:可以在创建表的时候定义索引,使用CREATETABLE语句的......
  • MySQL中对某列进行求和
    MySQL中对某列进行求和要在MySQL中对某列进行求和,你可以使用SUM聚合函数。以下是一个简单的示例,演示如何对某列进行求和:假设你有一个名为your_table的表,其中有一个列名为your_column,你想对这一列进行求和:SELECTSUM(your_column)ASsum_resultFROMyour_table;这将返回......
  • kettle同步mysql到mysql
    上传mysql驱动包到lib目录下创建表连接表输入表输出(没有创建表)执行表创建表sql ......
  • mysql json类型数据查询
    1、json对象1.1、方法使用对象操作的方法进行查询:字段->'$.json属性'使用函数进行查询:json_extract(字段,'$.json属性')获取JSON数组/对象长度:JSON_LENGTH()1.2、数据CREATETABLE`test`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'自增ID',`g......
  • 记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队
    一、问题是怎么发现的部署chatglm2和llama2到一个4*V100的GPU机器上遇到问题config.pbtxt中设置模型分别在指定gpu上部署实例配置不生效如以下配置为在gpu0上部署本模型,部署count=1个实例,在gpu1上部署本模型,部署count=2个实例instance_group[{count:1kind:KIND_GPU......
  • 【转】,接上面3篇.Implement Sql Database Driver in 100 Lines of Go
    原文: https://vyskocil.org/blog/implement-sql-database-driver-in-100-lines-of-go/ -------------------- ImplementSqlDatabaseDriverin100LinesofGo2019.02.18Go database/sql definesinterfacesforSQLdatabases.Actualdrivermustbeimplemented......