STAR JOIN
STAR JOIN 會執行等同的 SQL 左外部結合。 FROM 次指令指定觀察值資料檔 (事實表格)。 JOIN 次指令指定表格查閱檔案 (維度表格)。
STAR JOIN
/SELECT {* | alias0.field [AS newname], alias1.field [AS newname],...}
/FROM {'data file' [PASSWORD='password'] | dataset | *} AS alias0
/JOIN {'data file' [PASSWORD='password'] | dataset | *} AS alias1
ON alias0.key1=alias1.key1
[AND alias0.key2=alias1.key2] [AND...]
[IN=field]
[/JOIN...] [/JOIN...]
/OUTFILE FILE={'data file' | dataset | *}
[/PASSPROTECT]
PASSWORD={'password'|NONE**}
[ENCRYPTEDPW={NO**|YES}]
**Default if subcommand or keyword omitted
- 需要
PASSPROTECT以外的所有次指令。 - 所有次指令必須依照語法圖中指出的順序。
- 容許多個
JOIN次指令,最多可達檔案控點的作業系統限制上限,或直到您記憶體不足為止。 - 所有指令規格必須完整拼出; 不接受三個字母縮寫。
SELECT、FROM和JOIN的語法是以標準 SQL 語法為基礎,但這不是 SQL。 您無法併入語法圖中未明確指定的任何 SQL。
此指令會讀取作用中資料集,並導致執行任何擱置指令。 如需相關資訊,請參閱主題 指令順序 。
發行歷程
版本 21.0
- 已建立指令。
版本 22.0
- 在
FROM和JOIN次指令上引進了PASSWORD關鍵字。
範例
STAR JOIN
/SELECT t1.Name1, t1.Name2, t1.Field1, t1.Field2, t1.Field3,
t2.Value1, t3.Value2
/FROM '/myfiles/fact.sav' AS t1
/JOIN '/myfiles/field1_values.sav' AS t2
ON t1.Field1 = t2.Field1
/JOIN 'myfiles/field2_values .sav' AS t3
ON t1.Field2 = t3.Field2
/OUTFILE FILE='/myfiles/merged.sav'.