目前,我將VB6轉換爲VB.NET。 轉換後,我想在SQL中插入/選擇 但我需要知道我的sql語句的含義是什麼。SQL * =語句(外連接)
我聲明:
XXX where adj.reasonid *= re.reasonid and (status <> 'A'OR action = 'H')
有人能知道* =是什麼意思?和
in (status <> 'A'OR action = 'H')
是指是否有一個條件可以選擇數據?
目前,我將VB6轉換爲VB.NET。 轉換後,我想在SQL中插入/選擇 但我需要知道我的sql語句的含義是什麼。SQL * =語句(外連接)
我聲明:
XXX where adj.reasonid *= re.reasonid and (status <> 'A'OR action = 'H')
有人能知道* =是什麼意思?和
in (status <> 'A'OR action = 'H')
是指是否有一個條件可以選擇數據?
*=
是左外連接的替代(我相信是過時的)語法。
非常感謝你=] – user1506228 2012-07-11 06:14:39
當然可以。隨意投票有用的答案,並接受你認爲是正確的。 – 2012-07-11 06:16:30
這是SQL Server中Outer Join
的舊語法。
SQL服務器長期以來一直支持兩種形式的OUTER JOIN syntax
, 的ANSI syntax (using LEFT OUTER JOIN, RIGHT OUTER JOIN
等), 和簡化T-SQL syntax (using
=和=).
http://www.forta.com/blog/index.cfm/2006/1/15/SQL-Server-2005-Outer-Join-Gotcha
在你的代碼。
where adj.reasonid Left Outer Join re.reasonid
and (status <> 'A' OR action = 'H')
對於。
in (status <> 'A'OR action = 'H')
或僅話務員,直到它找到一個真正的結果計算表達式。
非常感謝你,我現在明白了=] – user1506228 2012-07-11 06:13:58
對於2nd:是的,如果status不是A或action是H,它會返回數據。這個條件的工作原理如下(1 - true,0 - false)1或1 = 1 | 1或0 = 1 | 0或1 = 1 | 0或0 = 0' – 2012-07-11 04:16:10
非常感謝,我現在明白了=] – user1506228 2012-07-11 06:11:51