SQL查询符号“* =”

时间:2011-03-29 05:48:10

标签: join replace using

"*="声明中的符号SELECT代表什么?这对性能有何影响?我们可以将其替换为JOINS吗?

由于 STR

2 个答案:

答案 0 :(得分:0)

在SQL的某些实现中,具有赋值运算符(=)的SELECT语句可用于创建列标题与定义列值的表达式之间的关系。

一个例子可能是:

SELECT name = 'renamed_column_name'
FROM users

更多信息:

不幸的是,=运算符既可以表示赋值,也可以表示相等。

对于作业:

DECLARE @Counter INT;
SET @Counter = 1;

为了平等:

=是一个等于运算符,表示左侧必须等于右侧。

可能意味着值必须等于子查询返回的结果,或者变量必须等于文字,无论情况如何...... a = b表示a和b必须具有相同的值。

SELECT * FROM users LEFT JOIN posts ON users.id = posts.user_id

答案 1 :(得分:0)

在某些数据库系统中,

SELECT ... FROM a, b WHERE a.field1 *= b.field2

是LEFT OUTER JOIN的旧语法:

SELECT ... FROM a LEFT JOIN b ON a.field1 = b.field2

Microsoft SQL Server,例如considers the *= syntax to be deprecated since version 2005

是的,你可以用JOIN替换*=。实际上,你应该。 (我怀疑它会以任何相关方式影响性能,但您的查询可能会停止在较新版本的数据库引擎中工作。)