"*="
声明中的符号SELECT
代表什么?这对性能有何影响?我们可以将其替换为JOINS
吗?
由于 STR
答案 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替换*=
。实际上,你应该。 (我怀疑它会以任何相关方式影响性能,但您的查询可能会停止在较新版本的数据库引擎中工作。)