com.microsoft.sqlserver.jdbc.SQLServerException: 此查询使用的不是 ANSI 外部联接运算符("*=" 或 "=*")。若要不进行修改即运行此查询,请使用存储过程 sp_dbcmptlevel 将当前数据库的兼容级别设置为 80 或更低。极力建议使用 ANSI 外部联接运算符(LEFT OUTER JOIN、RIGHT OUTER JOIN)重写此查询。在将来的 SQL Server 版本中,即使在向后兼容模式下,也不支持非 ANSI 联接运算符。
EXEC sp_dbcmptlevel '库名', '80';
GO
原来在SQL语句中出现 *= (左链接)和 =*(右连接)的表示,但是这两种表示方法在sql2005之前的T_SQL版本中是不支持的。把出现的 *= 改成 left jon on ,=*改成 right join on 就行了。如下:
select * from test1 a, test2 b where( a.id *= b.id )
select * from test1 a left join test2 b on a.id=b.id
分享到:
相关推荐
- 外部联接(LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN)包括不匹配的行。 - 内部联接(INNER JOIN)只包括匹配的行。 - **表的自我联合**: - 同一张表的不同别名参与联接。 - 适用于表中有重复数据的情况。 ##...
- **不等值联合**:当联接条件不是简单的等值时,使用不等值条件进行联接。 - **外部联合与内部联合**:外部联合(OUTER JOIN)返回所有可能匹配的行,而内部联合(INNER JOIN)仅返回匹配的行。 - **表的自我联合**...
- **外部联合**与**内部联合**:外部联合包括左外联接(LEFT JOIN)、右外联接(RIGHT JOIN)和全外联接(FULL JOIN),内部联合即普通的联接(INNER JOIN)。 - **自我联合**:同一张表的不同别名之间的联合。 #...
- **外部联合与内部联合**:外部联合包括左外联接、右外联接和全外联接;内部联合即普通的内联接。 - **表的自我联合**:同一个表以不同的别名出现,常用于获取层次数据。 #### 九、子查询 - **建立一个子查询**:...
- **相关子查询**:子查询的结果依赖于外部查询的某一行,常用于解决“每个部门的最高工资”等问题。 - **EXISTS、ANY、ALL的使用**:`EXISTS`用于检查是否存在满足条件的行;`ANY`和`ALL`用于比较单个值与子查询...
- **外部联合与内部联合**:分别表示左联接、右联接和内联接。 - **自我联合**:同一表的不同别名之间进行联合。 #### 九、子查询 - **单行子查询**:子查询返回单个值。 - **多行子查询**:子查询返回多个值。 - ...
- **外部联合与内部联合**:外部联接会包含左表或右表中未匹配的行,而内部联接只包含匹配的行。 - **表的自我联合**:当一个表与自身进行联接时。 - **子查询**: - 子查询是一个作为另一个查询的一部分的查询...
- **外部联合与内部联合**:外部联合包括左外联接、右外联接等;内部联合即内联接。 - **自我联合**:同一张表的不同别名之间的联接。 #### 九、子查询 - **子查询概念**:子查询是在另一个查询内部执行的查询。 ...
- **总结**:通过实例讲解如何使用SELECT语句进行基础的数据查询。 #### 第三天:表达式、条件语句与运算 - **表达式**:SQL中的表达式可以是常量、变量、函数、操作符等的组合。 - **条件语句**:如IF...THEN......