在SQL查询中比较哪两个表

在SQL查询中比较哪两个表,sql,db2,Sql,Db2,我不明白的是,由于只指定了一个表,在本例中,示例_table被称为table1,由于没有声明实际的表名,该查询如何知道哪个表被称为table2 我不明白的是,因为只指定了一个表 不,有两个。第二个在这里 private static final String UPDATE_QUERY = "MERGE INTO EXAMPLE_TABLE AS table1 USING (" + "VALUES(:value1, :value2,

我不明白的是,由于只指定了一个表,在本例中,示例_table被称为table1,由于没有声明实际的表名,该查询如何知道哪个表被称为table2

我不明白的是,因为只指定了一个表

不,有两个。第二个在这里

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)";

这是一个表构造函数,您可以查找正在使用的任何DBMS。这里是。

那是什么dbms?它是一个DB2 DBMStanks,那么我想我不明白的是表2 val1,val2,val3指定了什么here@OpenMeyends:val1、val2和val3是表2中的列名。@OpenMeyends:它本质上与表别名相同,但也为常量值提供列别名。请参见注意这两个查询中的不同列名
"VALUES(:value1, :value2, :value3) " +
"AS table2