2011-03-29 98 views

回答

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替換*=。其實你應該是。 (我懷疑它會以任何相關方式影響性能,但是您的查詢可能會停止在較新版本的數據庫引擎中工作。)

+0

感謝Heinzi。我還發現其他職位與此有關:http://stackoverflow.com/questions/1731413/sql-operator – STR 2011-03-29 09:19:25

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