sql - 在 SQL 查询中比较了哪两个表
问题描述
private static final String UPDATE_QUERY =
"MERGE INTO EXAMPLE_TABLE AS table1 USING (" +
"VALUES(:value1, :value2, :value3) " +
"AS table2 (val1, val2, val3) " +
"ON table1.val1 = table2.val1 " +
"AND table1.val2 = table2.val2 " +
"AND table1.val3 = table2.val3 " +
"WHEN NOT MATCHED THEN " +
"INSERT (value1, value2, value3, " +
") " +
"VALUES (table2.val1, table2.val2, table2.val3)";
我不明白的是,因为只指定了一个表,在这种情况下,“EXAMPLE_TABLE”被称为table1,这个查询如何知道哪个表被称为table2,因为没有实际表名的声明?
解决方案
我不明白的是,因为只指定了一张表,. . .
不,有两个。第二个在这里。
"VALUES(:value1, :value2, :value3) " +
"AS table2
这是一个表构造函数,您可以在其中查找您正在使用的任何 DBMS。这是SQL Server (T-SQL) 的文档。
推荐阅读
- blazor - Blazored Modal 不会出现
- ruby-on-rails - Rails gem BluePrinter
- python - {% csrf_token %} 在 django 中不起作用
- java - Logback 添加错误附加程序使其他附加程序不起作用
- scala - 重命名 spark 数据框 structType 字段
- apache-spark - AWS EMR 取消步骤无法终止相应的 Spark 应用程序
- c# - C# 从 JSON 文件中获取所有项目
- java - Java RuntimeException catching multiple catch blocks
- scala - 在生产中对 Spark Row 执行 .getAs 操作时出现异常。在本地运行良好
- python - 每次我在终端中运行 python 命令时系统崩溃,如何摆脱 /opt/miniconda3/bin/python?