SnowConvert AI : Oracle - 結合¶
結合は、2つ以上のテーブル、ビュー、またはマテリアライズドビューの行を結合するクエリです。Oracleデータベースは、複数のテーブルがクエリの
FROM句に現れるたびに結合を実行します。(Oracle SQL 言語リファレンス JOINS)
アンチ結合¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
説明¶
アンチ結合は、述語の左辺から、述語の右辺に対応する行がない行を返します。これは、右側のサブクエリにマッチしない(NOT IN)行を返します。サブクエリが
WHERE句のORブランチ上にある場合、アンチ結合変換は実行できません。(Oracle SQL 言語リファレンスアンチ結合)。
Snowflakeは同じ構文をサポートしているため、この種の 結合 では特別な変換は行われません。
サンプルソースパターン¶
注釈
結果の順序がOracleとSnowflakeで異なる可能性があるため、Order by句 を追加しました。
注釈
結果セットが大きすぎるため、行制限句 が追加されました。これを削除すると、結果セット全体を取得できます。
注釈
この セクション を確認して、サンプルデータベースをセットアップします。
Where Not In¶
Oracle¶
結果¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
|---|---|---|
174 |
Ellen |
Abel |
166 |
Sundar |
Ande |
130 |
Mozhe |
Atkinson |
105 |
デイビッド |
Austin |
204 |
Hermann |
Baer |
167 |
Amit |
Banda |
172 |
Elizabeth |
Bates |
192 |
Sarah |
Bell |
151 |
デイビッド |
Bernstein |
129 |
Laura |
Bissot |
Snowflake¶
結果¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
|---|---|---|
174 |
Ellen |
Abel |
166 |
Sundar |
Ande |
130 |
Mozhe |
Atkinson |
105 |
デイビッド |
Austin |
204 |
Hermann |
Baer |
167 |
Amit |
Banda |
172 |
Elizabeth |
Bates |
192 |
Sarah |
Bell |
151 |
デイビッド |
Bernstein |
129 |
Laura |
Bissot |
Where Not Exists¶
Oracle¶
結果¶
DEPARTMENT_ID |
DEPARTMENT_NAME |
|---|---|
120 |
財務省 |
130 |
法人税 |
140 |
管理と信用 |
150 |
株主サービス |
160 |
利点 |
170 |
製造 |
180 |
構築 |
190 |
契約 |
200 |
操作 |
210 |
IT サポート |
Snowflake¶
結果¶
DEPARTMENT_ID |
DEPARTMENT_NAME |
|---|---|
120 |
財務省 |
130 |
法人税 |
140 |
管理と信用 |
150 |
株主サービス |
160 |
利点 |
170 |
製造 |
180 |
構築 |
190 |
契約 |
200 |
操作 |
210 |
IT サポート |
既知の問題¶
1.言語間の結果の順序の不一致¶
クエリの結果は両方のデータベースエンジンで同じ内容になりますが、クエリに Order By 句が定義されていない場合、順序が異なる可能性があります。
バンド結合¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
説明¶
バンド結合 は、1つのデータセットのキー値が2番目のデータセットの指定された範囲(「バンド」)内に収まっていなければならない特殊なタイプの非等価結合です。同じテーブルを1つ目と2つ目のデータセットとして使用できます。(Oracle SQL 言語リファレンス BandJoin)
このセクションでは、Snowflakeでバンド結合がどのように実行されるかを見ていきますが、実行プランはOracleの改良バージョンと非常によく似ています。
サンプルソースパターン¶
注釈
結果の順序がOracleとSnowflakeで異なる可能性があるため、Order by 句を追加しました。
注釈
結果セットが大きすぎるため、行制限句 が追加されました。これを削除すると、結果セット全体を取得できます。
注釈
この セクション を確認して、サンプルデータベースをセットアップします。
警告
テーブルを作成せずにこのコードを移行した場合、コンバータは列のセマンティック情報を読み込むことができず、演算処理で警告が表示されます。
ベーシックバンド結合ケース¶
Oracle¶
結果¶
SALARY に COMPARISON |
|---|
Abelの給与はAbelより100少ない場合もあれば、100多い場合もある |
Abelの給与はCambraultより100少ない場合もあれば、100多い場合もある |
Abelの給与はRaphaelyより100少ない場合もあれば、100多い場合もある |
Andeの給与は、Andeより100少ない場合もあれば、100多い場合もある |
Andeの給与はMavrisより100少ない場合もあれば、100多い場合もある |
Andeの給与はVollmanより100少ない場合もあれば、100多い場合もある |
Atkinsonの給与は、Atkinsonより100少ない場合もあれば、100多い場合もある |
Atkinsonの給与は、Baidaより100少ない場合もあれば、100多い場合もある |
Atkinsonの給与は、Gatesより100少ない場合もあれば、100多い場合もある |
Atkinsonの給与は、Geoniより100少ない場合もあれば、100多い場合もある |
Snowflake¶
結果¶
SALARY に COMPARISON |
|---|
Abelの給与はAbelより100少ない場合もあれば、100多い場合もある |
Abelの給与はCambraultより100少ない場合もあれば、100多い場合もある |
Abelの給与はRaphaelyより100少ない場合もあれば、100多い場合もある |
Andeの給与は、Andeより100少ない場合もあれば、100多い場合もある |
Andeの給与はMavrisより100少ない場合もあれば、100多い場合もある |
Andeの給与はVollmanより100少ない場合もあれば、100多い場合もある |
Atkinsonの給与は、Atkinsonより100少ない場合もあれば、100多い場合もある |
Atkinsonの給与は、Baidaより100少ない場合もあれば、100多い場合もある |
Atkinsonの給与は、Gatesより100少ない場合もあれば、100多い場合もある |
Atkinsonの給与は、Geoniより100少ない場合もあれば、100多い場合もある |
警告
一部の SELECT ステートメントを対応するテーブルなしで移行すると、[SSC-EWI-OR0036](../../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/oracleEWI.md#ssc-ewi-or0036)が発生する可能性があります。型解決の問題。この警告を避けるには、CREATE TABLE をファイル内に含めます。
結果は同じで、BAND JOIN は機能的に同等です。
実行計画
追加情報として、バンド結合の特別な点は実行計画です。
次の画像は、テストクエリの 拡張実行計画 (Oracle 12c以降に実装)を示しています。

そして次の画像では、Snowflakeでの実行計画を見てみましょう。

注釈
Snowflakeの実行プランは、Oracleの最適化バージョンと非常によく似ています。クエリの最終的な期間とパフォーマンスは、その他多くの要因に影響され、各 DBMS の内部機能に完全に依存します。
既知の問題¶
1.言語間の結果の順序の不一致¶
クエリの結果は両方のデータベースエンジンで同じ内容になりますが、クエリに Order By 句が定義されていない場合、順序が異なる可能性があります。
関連 EWIs¶
[SSC-EWI-OR0036](../../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/oracleEWI.md#ssc-ewi-or0036)[:](../../..././general/technical-documentation/issues-and-troubleshooting/conversion-issues/oracleEWI.md#ssc-ewi-or0036)型解決の問題で、文字列と日付の間の算術演算が正しく動作しないことがあります。
デカルト積¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
結合クエリ内の2つのテーブルに結合条件がない場合、Oracleデータベースはそれらのデカルト積を返します。Oracleは、一方のテーブルの各行を他方のテーブルの各行に結合します。(Oracle SQL リファレンスデカルト積サブセクション)
OracleとSnowflakeは、デカルト積と同じ動作をする ANSI クロス結合構文にも対応しています。
Snowflakeは同じ構文をサポートしているため、この種の 結合 では特別な変換は行われません。
サンプルソースパターン¶
注釈
結果の順序がOracleとSnowflakeで異なる可能性があるため、Order by句 を追加しました。
注釈
結果セットが大きすぎるため、行制限句 が追加されました。これを削除すると、結果セット全体を取得できます。
注釈
この セクション を確認して、サンプルデータベースをセットアップします。
暗黙構文¶
Oracle¶
結果1¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
10 |
管理 |
200 |
1700 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
50 |
配送 |
121 |
1500 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
40 |
人事 |
203 |
2400 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
30 |
購買 |
114 |
1700 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
20 |
マーケティング |
201 |
1800 |
結果2¶
COUNT(*) |
|---|
2889 |
Snowflake¶
結果1¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 |
ST_MAN |
8200.00 |
100 |
50 |
40 |
人事 |
203 |
2400 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 |
ST_MAN |
8200.00 |
100 |
50 |
20 |
マーケティング |
201 |
1800 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 |
ST_MAN |
8200.00 |
100 |
50 |
10 |
管理 |
200 |
1700 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 |
ST_MAN |
8200.00 |
100 |
50 |
50 |
配送 |
121 |
1500 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 |
ST_MAN |
8200.00 |
100 |
50 |
30 |
購買 |
114 |
1700 |
結果2¶
COUNT(*) |
|---|
2889 |
クロス結合構文¶
Oracle¶
結果1¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
10 |
管理 |
200 |
1700 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
50 |
配送 |
121 |
1500 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
40 |
人事 |
203 |
2400 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
30 |
購買 |
114 |
1700 |
|
121 |
Adam |
Fripp |
AFRIPP |
650.123.2234 |
2005-04-10 00:00:00.000 |
ST_MAN |
8200 |
100 |
50 |
20 |
マーケティング |
201 |
1800 |
結果2¶
COUNT(*) |
|---|
2889 |
Snowflake¶
既知の問題¶
1.言語間の結果の順序の不一致¶
クエリの結果は両方のデータベースエンジンで同じ内容になりますが、クエリに Order By 句が定義されていない場合、順序が異なる可能性があります。
関連 EWIs¶
関連 EWIs はありません。
等価結合¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
説明¶
An equijoin is an implicit form of the join with a join condition containing an equality operator. For more information, see the Oracle Equijoin documentation.
Snowflakeは同じ構文をサポートしているため、この種の 結合 では特別な変換は行われません。
サンプルソースパターン¶
注釈
結果の順序がOracleとSnowflakeで異なる可能性があるため、Order by句 を追加しました。
注釈
結果セットが大きすぎるため、行制限句 が追加されました。これを削除すると、結果セット全体を取得できます。
注釈
この セクション を確認して、サンプルデータベースをセットアップします。
ベーシック等価結合ケース¶
Oracle¶
結果¶
LAST_NAME |
JOB_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
|---|---|---|---|
Abel |
SA_REP |
80 |
販売 |
Ande |
SA_REP |
80 |
販売 |
Atkinson |
ST_CLERK |
50 |
配送 |
Austin |
IT_PROG |
60 |
IT |
Baer |
PR_REP |
70 |
広報活動 |
Snowflake¶
結果¶
LAST_NAME |
JOB_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
|---|---|---|---|
Abel |
SA_REP |
80 |
販売 |
Ande |
SA_REP |
80 |
販売 |
Atkinson |
ST_CLERK |
50 |
配送 |
Austin |
IT_PROG |
60 |
IT |
Baer |
PR_REP |
70 |
広報活動 |
既知の問題¶
1.言語間の結果の順序の不一致¶
クエリの結果は両方のデータベースエンジンで同じ内容になりますが、クエリに Order By 句が定義されていない場合、順序が異なる可能性があります。
関連 EWIs¶
関連 EWIs はありません。
内部結合¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
説明¶
内部結合(単純結合と呼ばれることもあります)は、結合条件を満たす行のみを返す2つ以上のテーブルの結合です。(Oracle SQL リファレンス内部結合サブセクション)。
サンプルソースパターン¶
注釈
結果の順序がOracleとSnowflakeで異なる可能性があるため、Order by 句を追加しました。
注釈
結果セットが大きすぎるため、行制限句 が追加されました。この句を削除すると、結果セット全体を取得できます。
注釈
この セクション を確認して、サンプルデータベースをセットアップします。
ベーシック内部結合¶
Inner Join句の "INNER" はオプションのキーワードです。以下のクエリには、同じデータセットを取得する2つのselectがあります。
Oracle¶
結果¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
90 |
経営 |
100 |
1700 |
||
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 00:00:00.000 |
AD_VP |
17000 |
100 |
90 |
90 |
経営 |
100 |
1700 |
|
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 00:00:00.000 |
AD_VP |
17000 |
100 |
90 |
90 |
経営 |
100 |
1700 |
|
103 |
Alexander |
Hunold |
AHUNOLD |
590.423.4567 |
2006-01-03 00:00:00.000 |
IT_PROG |
9000 |
102 |
60 |
60 |
IT |
103 |
1400 |
|
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 00:00:00.000 |
IT_PROG |
6000 |
103 |
60 |
60 |
IT |
103 |
1400 |
|
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 00:00:00.000 |
IT_PROG |
4800 |
103 |
60 |
60 |
IT |
103 |
1400 |
|
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 00:00:00.000 |
IT_PROG |
4800 |
103 |
60 |
60 |
IT |
103 |
1400 |
|
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 00:00:00.000 |
IT_PROG |
4200 |
103 |
60 |
60 |
IT |
103 |
1400 |
|
108 |
Nancy |
Greenberg |
NGREENBE |
515.124.4569 |
2002-08-17 00:00:00.000 |
FI_MGR |
12008 |
101 |
100 |
100 |
ファイナンス |
108 |
1700 |
|
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 00:00:00.000 |
FI_ACCOUNT |
9000 |
108 |
100 |
100 |
ファイナンス |
108 |
1700 |
Snowflake¶
結果¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
90 |
経営 |
100 |
1700 |
||
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 |
AD_VP |
17000.00 |
100 |
90 |
90 |
経営 |
100 |
1700 |
|
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 |
AD_VP |
17000.00 |
100 |
90 |
90 |
経営 |
100 |
1700 |
|
103 |
Alexander |
Hunold |
AHUNOLD |
590.423.4567 |
2006-01-03 |
IT_PROG |
9000.00 |
102 |
60 |
60 |
IT |
103 |
1400 |
|
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 |
IT_PROG |
6000.00 |
103 |
60 |
60 |
IT |
103 |
1400 |
|
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 |
IT_PROG |
4800.00 |
103 |
60 |
60 |
IT |
103 |
1400 |
|
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 |
IT_PROG |
4800.00 |
103 |
60 |
60 |
IT |
103 |
1400 |
|
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 |
IT_PROG |
4200.00 |
103 |
60 |
60 |
IT |
103 |
1400 |
|
108 |
Nancy |
Greenberg |
NGREENBE |
515.124.4569 |
2002-08-17 |
FI_MGR |
12008.00 |
101 |
100 |
100 |
ファイナンス |
108 |
1700 |
|
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 |
FI_ACCOUNT |
9000.00 |
108 |
100 |
100 |
ファイナンス |
108 |
1700 |
using句を含む内部結合¶
Oracle¶
結果¶
DEPARTMENT_ID |
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
90 |
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
経営 |
100 |
1700 |
||
90 |
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 00:00:00.000 |
AD_VP |
17000 |
100 |
経営 |
100 |
1700 |
|
90 |
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 00:00:00.000 |
AD_VP |
17000 |
100 |
経営 |
100 |
1700 |
|
60 |
103 |
Alexander |
Hunold |
AHUNOLD |
590.423.4567 |
2006-01-03 00:00:00.000 |
IT_PROG |
9000 |
102 |
IT |
103 |
1400 |
|
60 |
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 00:00:00.000 |
IT_PROG |
6000 |
103 |
IT |
103 |
1400 |
|
60 |
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 00:00:00.000 |
IT_PROG |
4800 |
103 |
IT |
103 |
1400 |
|
60 |
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 00:00:00.000 |
IT_PROG |
4800 |
103 |
IT |
103 |
1400 |
|
60 |
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 00:00:00.000 |
IT_PROG |
4200 |
103 |
IT |
103 |
1400 |
|
100 |
108 |
Nancy |
Greenberg |
NGREENBE |
515.124.4569 |
2002-08-17 00:00:00.000 |
FI_MGR |
12008 |
101 |
ファイナンス |
108 |
1700 |
|
100 |
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 00:00:00.000 |
FI_ACCOUNT |
9000 |
108 |
ファイナンス |
108 |
1700 |
Snowflake¶
結果¶
DEPARTMENT_ID |
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
90 |
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
経営 |
100 |
1700 |
||
90 |
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 |
AD_VP |
17000.00 |
100 |
経営 |
100 |
1700 |
|
90 |
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 |
AD_VP |
17000.00 |
100 |
経営 |
100 |
1700 |
|
60 |
103 |
Alexander |
Hunold |
AHUNOLD |
590.423.4567 |
2006-01-03 |
IT_PROG |
9000.00 |
102 |
IT |
103 |
1400 |
|
60 |
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 |
IT_PROG |
6000.00 |
103 |
IT |
103 |
1400 |
|
60 |
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 |
IT_PROG |
4800.00 |
103 |
IT |
103 |
1400 |
|
60 |
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 |
IT_PROG |
4800.00 |
103 |
IT |
103 |
1400 |
|
60 |
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 |
IT_PROG |
4200.00 |
103 |
IT |
103 |
1400 |
|
100 |
108 |
Nancy |
Greenberg |
NGREENBE |
515.124.4569 |
2002-08-17 |
FI_MGR |
12008.00 |
101 |
ファイナンス |
108 |
1700 |
|
100 |
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 |
FI_ACCOUNT |
9000.00 |
108 |
ファイナンス |
108 |
1700 |
クロス内部結合¶
Oracle¶
結果¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
110 |
会計 |
205 |
1700 |
||
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 00:00:00.000 |
AD_VP |
17000 |
100 |
90 |
110 |
会計 |
205 |
1700 |
|
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 00:00:00.000 |
AD_VP |
17000 |
100 |
90 |
110 |
会計 |
205 |
1700 |
|
103 |
Alexander |
Hunold |
AHUNOLD |
590.423.4567 |
2006-01-03 00:00:00.000 |
IT_PROG |
9000 |
102 |
60 |
110 |
会計 |
205 |
1700 |
|
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 00:00:00.000 |
IT_PROG |
6000 |
103 |
60 |
110 |
会計 |
205 |
1700 |
|
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 00:00:00.000 |
IT_PROG |
4800 |
103 |
60 |
110 |
会計 |
205 |
1700 |
|
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 00:00:00.000 |
IT_PROG |
4800 |
103 |
60 |
110 |
会計 |
205 |
1700 |
|
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 00:00:00.000 |
IT_PROG |
4200 |
103 |
60 |
110 |
会計 |
205 |
1700 |
|
108 |
Nancy |
Greenberg |
NGREENBE |
515.124.4569 |
2002-08-17 00:00:00.000 |
FI_MGR |
12008 |
101 |
100 |
110 |
会計 |
205 |
1700 |
|
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 00:00:00.000 |
FI_ACCOUNT |
9000 |
108 |
100 |
110 |
会計 |
205 |
1700 |
Snowflake¶
結果¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
110 |
会計 |
205 |
1700 |
||
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 |
AD_VP |
17000.00 |
100 |
90 |
110 |
会計 |
205 |
1700 |
|
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 |
AD_VP |
17000.00 |
100 |
90 |
110 |
会計 |
205 |
1700 |
|
103 |
Alexander |
Hunold |
AHUNOLD |
590.423.4567 |
2006-01-03 |
IT_PROG |
9000.00 |
102 |
60 |
110 |
会計 |
205 |
1700 |
|
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 |
IT_PROG |
6000.00 |
103 |
60 |
110 |
会計 |
205 |
1700 |
|
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 |
IT_PROG |
4800.00 |
103 |
60 |
110 |
会計 |
205 |
1700 |
|
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 |
IT_PROG |
4800.00 |
103 |
60 |
110 |
会計 |
205 |
1700 |
|
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 |
IT_PROG |
4200.00 |
103 |
60 |
110 |
会計 |
205 |
1700 |
|
108 |
Nancy |
Greenberg |
NGREENBE |
515.124.4569 |
2002-08-17 |
FI_MGR |
12008.00 |
101 |
100 |
110 |
会計 |
205 |
1700 |
|
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 |
FI_ACCOUNT |
9000.00 |
108 |
100 |
110 |
会計 |
205 |
1700 |
自然内部結合¶
Oracle¶
結果¶
MANAGER_ID |
DEPARTMENT_ID |
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
DEPARTMENT_NAME |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
90 |
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 00:00:00.000 |
AD_VP |
17000 |
経営 |
1700 |
|
100 |
90 |
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 00:00:00.000 |
AD_VP |
17000 |
経営 |
1700 |
|
103 |
60 |
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 00:00:00.000 |
IT_PROG |
6000 |
IT |
1400 |
|
103 |
60 |
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 00:00:00.000 |
IT_PROG |
4800 |
IT |
1400 |
|
103 |
60 |
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 00:00:00.000 |
IT_PROG |
4800 |
IT |
1400 |
|
103 |
60 |
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 00:00:00.000 |
IT_PROG |
4200 |
IT |
1400 |
|
108 |
100 |
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 00:00:00.000 |
FI_ACCOUNT |
9000 |
ファイナンス |
1700 |
|
108 |
100 |
110 |
John |
Chen |
JCHEN |
515.124.4269 |
2005-09-28 00:00:00.000 |
FI_ACCOUNT |
8200 |
ファイナンス |
1700 |
|
108 |
100 |
111 |
Ismael |
Sciarra |
ISCIARRA |
515.124.4369 |
2005-09-30 00:00:00.000 |
FI_ACCOUNT |
7700 |
ファイナンス |
1700 |
|
108 |
100 |
112 |
Jose Manuel |
Urman |
JMURMAN |
515.124.4469 |
2006-03-07 00:00:00.000 |
FI_ACCOUNT |
7800 |
ファイナンス |
1700 |
Snowflake¶
結果¶
MANAGER_ID |
DEPARTMENT_ID |
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
DEPARTMENT_NAME |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
90 |
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 |
AD_VP |
17000.00 |
経営 |
1700 |
|
100 |
90 |
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 |
AD_VP |
17000.00 |
経営 |
1700 |
|
103 |
60 |
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 |
IT_PROG |
6000.00 |
IT |
1400 |
|
103 |
60 |
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 |
IT_PROG |
4800.00 |
IT |
1400 |
|
103 |
60 |
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 |
IT_PROG |
4800.00 |
IT |
1400 |
|
103 |
60 |
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 |
IT_PROG |
4200.00 |
IT |
1400 |
|
108 |
100 |
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 |
FI_ACCOUNT |
9000.00 |
ファイナンス |
1700 |
|
108 |
100 |
110 |
John |
Chen |
JCHEN |
515.124.4269 |
2005-09-28 |
FI_ACCOUNT |
8200.00 |
ファイナンス |
1700 |
|
108 |
100 |
111 |
Ismael |
Sciarra |
ISCIARRA |
515.124.4369 |
2005-09-30 |
FI_ACCOUNT |
7700.00 |
ファイナンス |
1700 |
|
108 |
100 |
112 |
Jose Manuel |
Urman |
JMURMAN |
515.124.4469 |
2006-03-07 |
FI_ACCOUNT |
7800.00 |
ファイナンス |
1700 |
クロス自然結合¶
Oracle¶
結果¶
MANAGER_ID |
DEPARTMENT_ID |
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
DEPARTMENT_NAME |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
90 |
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 00:00:00.000 |
AD_VP |
17000 |
経営 |
1700 |
|
100 |
90 |
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 00:00:00.000 |
AD_VP |
17000 |
経営 |
1700 |
|
103 |
60 |
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 00:00:00.000 |
IT_PROG |
6000 |
IT |
1400 |
|
103 |
60 |
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 00:00:00.000 |
IT_PROG |
4800 |
IT |
1400 |
|
103 |
60 |
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 00:00:00.000 |
IT_PROG |
4800 |
IT |
1400 |
|
103 |
60 |
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 00:00:00.000 |
IT_PROG |
4200 |
IT |
1400 |
|
108 |
100 |
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 00:00:00.000 |
FI_ACCOUNT |
9000 |
ファイナンス |
1700 |
|
108 |
100 |
110 |
John |
Chen |
JCHEN |
515.124.4269 |
2005-09-28 00:00:00.000 |
FI_ACCOUNT |
8200 |
ファイナンス |
1700 |
|
108 |
100 |
111 |
Ismael |
Sciarra |
ISCIARRA |
515.124.4369 |
2005-09-30 00:00:00.000 |
FI_ACCOUNT |
7700 |
ファイナンス |
1700 |
|
108 |
100 |
112 |
Jose Manuel |
Urman |
JMURMAN |
515.124.4469 |
2006-03-07 00:00:00.000 |
FI_ACCOUNT |
7800 |
ファイナンス |
1700 |
Snowflake¶
結果¶
MANAGER_ID |
DEPARTMENT_ID |
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
DEPARTMENT_NAME |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
90 |
101 |
Neena |
Kochhar |
NKOCHHAR |
515.123.4568 |
2005-09-21 |
AD_VP |
17000.00 |
経営 |
1700 |
|
100 |
90 |
102 |
Lex |
De Haan |
LDEHAAN |
515.123.4569 |
2001-01-13 |
AD_VP |
17000.00 |
経営 |
1700 |
|
103 |
60 |
104 |
Bruce |
Ernst |
BERNST |
590.423.4568 |
2007-05-21 |
IT_PROG |
6000.00 |
IT |
1400 |
|
103 |
60 |
105 |
デイビッド |
Austin |
DAUSTIN |
590.423.4569 |
2005-06-25 |
IT_PROG |
4800.00 |
IT |
1400 |
|
103 |
60 |
106 |
Valli |
Pataballa |
VPATABAL |
590.423.4560 |
2006-02-05 |
IT_PROG |
4800.00 |
IT |
1400 |
|
103 |
60 |
107 |
Diana |
Lorentz |
DLORENTZ |
590.423.5567 |
2007-02-07 |
IT_PROG |
4200.00 |
IT |
1400 |
|
108 |
100 |
109 |
Daniel |
Faviet |
DFAVIET |
515.124.4169 |
2002-08-16 |
FI_ACCOUNT |
9000.00 |
ファイナンス |
1700 |
|
108 |
100 |
110 |
John |
Chen |
JCHEN |
515.124.4269 |
2005-09-28 |
FI_ACCOUNT |
8200.00 |
ファイナンス |
1700 |
|
108 |
100 |
111 |
Ismael |
Sciarra |
ISCIARRA |
515.124.4369 |
2005-09-30 |
FI_ACCOUNT |
7700.00 |
ファイナンス |
1700 |
|
108 |
100 |
112 |
Jose Manuel |
Urman |
JMURMAN |
515.124.4469 |
2006-03-07 |
FI_ACCOUNT |
7800.00 |
ファイナンス |
1700 |
自然クロス結合¶
Oracle¶
結果¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
10 |
管理 |
200 |
1700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
100 |
ファイナンス |
108 |
1700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
90 |
経営 |
100 |
1700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
80 |
販売 |
145 |
2500 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
70 |
広報活動 |
204 |
2700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
60 |
IT |
103 |
1400 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
50 |
配送 |
121 |
1500 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
40 |
人事 |
203 |
2400 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
30 |
購買 |
114 |
1700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 00:00:00.000 |
AD_PRES |
24000 |
90 |
20 |
マーケティング |
201 |
1800 |
Snowflake¶
結果¶
EMPLOYEE_ID |
FIRST_NAME |
LAST_NAME |
PHONE_NUMBER |
HIRE_DATE |
JOB_ID |
SALARY |
COMMISSION_PCT |
MANAGER_ID |
DEPARTMENT_ID |
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
80 |
販売 |
145 |
2500 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
20 |
マーケティング |
201 |
1800 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
60 |
IT |
103 |
1400 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
70 |
広報活動 |
204 |
2700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
90 |
経営 |
100 |
1700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
30 |
購買 |
114 |
1700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
10 |
管理 |
200 |
1700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
100 |
ファイナンス |
108 |
1700 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
50 |
配送 |
121 |
1500 |
||
100 |
Steven |
King |
SKING |
515.123.4567 |
2003-06-17 |
AD_PRES |
24000.00 |
90 |
40 |
人事 |
203 |
2400 |
既知の問題¶
1.言語間の結果の順序の不一致¶
クエリの結果は両方のデータベースエンジンで同じ内容になりますが、クエリに Order By 句が定義されていない場合、順序が異なる可能性があります。
関連 EWIs¶
関連 EWIs はありません。
外部結合¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
説明¶
外部結合は単純結合の結果を拡張します。外部結合は、結合条件を満たす全ての行を返し、一方のテーブルから、もう一方のテーブルから結合条件を満たす行がない場合、その一部または全ての行を返します。(Oracle SQL 言語リファレンス外部結合サブセクション)。
Oracle ANSI 構文¶
Oracleは、外部結合に使用できる(+)演算子もサポートしています。この演算子は、WHERE 句の列式に追加されます。
Snowflake ANSI 構文¶
Snowflake also supports the ANSI syntax for OUTER JOINS, just like Oracle. However, the behavior when using the (+) operator might be different depending on the usage. For more information, see the Snowflake JOIN documentation.
Snowflakeの文法は以下のいずれかです。
サンプルソースパターン¶
注釈
結果の順序がOracleとSnowflakeで異なる可能性があるため、Order by 句を追加しました。
注釈
結果セットが大きすぎるため、行制限句 が追加されました。これを削除すると、結果セット全体を取得できます。
注釈
この セクション を確認して、サンプルデータベースをセットアップします。
注釈
以下の例では、JOIN の種類ごとに結果をより適切に区別するために、これらの挿入と変更ステートメントを実行しました。
1.ANSI 構文¶
Snowflakeは SQL JOINS の ANSI 構文を完全にサポートしています。どちらのデータベースエンジンでも動作は同じです。
に左外部結合¶
Oracle¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
国名不明 |
0 |
||
AR |
アルゼンチン |
2 |
2 |
米州 |
AU |
オーストラリア |
3 |
3 |
アジア |
BE |
ベルギー |
1 |
1 |
ヨーロッパ |
BR |
ブラジル |
2 |
2 |
米州 |
CA |
カナダ |
2 |
2 |
米州 |
CH |
スイス |
1 |
1 |
ヨーロッパ |
CN |
中国 |
3 |
3 |
アジア |
DE |
ドイツ |
1 |
1 |
ヨーロッパ |
DK |
デンマーク |
1 |
1 |
ヨーロッパ |
Snowflake¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
国名不明 |
0.0000000000000000000 |
||
AR |
アルゼンチン |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
AU |
オーストラリア |
3.0000000000000000000 |
3.0000000000000000000 |
アジア |
BE |
ベルギー |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
BR |
ブラジル |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
CA |
カナダ |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
CH |
スイス |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
CN |
中国 |
3.0000000000000000000 |
3.0000000000000000000 |
アジア |
DE |
ドイツ |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
DK |
デンマーク |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
に右外部結合¶
Oracle¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
5 |
オセアニア |
||
ZW |
ジンバブエ |
4 |
4 |
中東、アフリカ |
ZM |
ザンビア |
4 |
4 |
中東、アフリカ |
US |
アメリカ合衆国 |
2 |
2 |
米州 |
UK |
英国 |
1 |
1 |
ヨーロッパ |
SG |
シンガポール |
3 |
3 |
アジア |
NL |
オランダ |
1 |
1 |
ヨーロッパ |
NG |
ナイジェリア |
4 |
4 |
中東、アフリカ |
MX |
メキシコ |
2 |
2 |
米州 |
ML |
マレーシア |
3 |
3 |
アジア |
Snowflake¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
5.0000000000000000000 |
オセアニア |
||
ZW |
ジンバブエ |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
ZM |
ザンビア |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
US |
アメリカ合衆国 |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
UK |
英国 |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
SG |
シンガポール |
3.0000000000000000000 |
3.0000000000000000000 |
アジア |
NL |
オランダ |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
NG |
ナイジェリア |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
MX |
メキシコ |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
ML |
マレーシア |
3.0000000000000000000 |
3.0000000000000000000 |
アジア |
に完全外部結合¶
Oracle¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
国名不明 |
0 |
||
-- |
5 |
オセアニア |
||
EG |
エジプト |
4 |
4 |
中東、アフリカ |
IL |
イスラエル |
4 |
4 |
中東、アフリカ |
KW |
クウェート |
4 |
4 |
中東、アフリカ |
NG |
ナイジェリア |
4 |
4 |
中東、アフリカ |
ZM |
ザンビア |
4 |
4 |
中東、アフリカ |
ZW |
ジンバブエ |
4 |
4 |
中東、アフリカ |
BE |
ベルギー |
1 |
1 |
ヨーロッパ |
CH |
スイス |
1 |
1 |
ヨーロッパ |
Snowflake¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
国名不明 |
0.0000000000000000000 |
||
-- |
5.0000000000000000000 |
オセアニア |
||
EG |
エジプト |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
IL |
イスラエル |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
KW |
クウェート |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
NG |
ナイジェリア |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
ZM |
ザンビア |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
ZW |
ジンバブエ |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
BE |
ベルギー |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
CH |
スイス |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
2.自然外部結合¶
OracleもSnowflakeも自然外部結合をサポートしており、動作は同じです。
NATURAL JOIN は、2つのテーブルの共通列の明示的な JOIN と同じですが、共通列は出力に1回だけ含まれます。(自然結合は、異なるテーブルにある同じ名前の列が、対応するデータを含んでいると仮定します。)(Snowflake SQL 言語リファレンス JOIN)
自然左外部結合¶
Oracle¶
結果¶
REGION_ID |
COUNTRY_ID |
COUNTRY_NAME |
REGION_NAME |
|---|---|---|---|
0 |
-- |
国名不明 |
|
2 |
AR |
アルゼンチン |
米州 |
3 |
AU |
オーストラリア |
アジア |
1 |
BE |
ベルギー |
ヨーロッパ |
2 |
BR |
ブラジル |
米州 |
2 |
CA |
カナダ |
米州 |
1 |
CH |
スイス |
ヨーロッパ |
3 |
CN |
中国 |
アジア |
1 |
DE |
ドイツ |
ヨーロッパ |
1 |
DK |
デンマーク |
ヨーロッパ |
Snowflake¶
結果¶
REGION_ID |
COUNTRY_ID |
COUNTRY_NAME |
REGION_NAME |
|---|---|---|---|
0.0000000000000000000 |
-- |
国名不明 |
|
2.0000000000000000000 |
AR |
アルゼンチン |
米州 |
3.0000000000000000000 |
AU |
オーストラリア |
アジア |
1.0000000000000000000 |
BE |
ベルギー |
ヨーロッパ |
2.0000000000000000000 |
BR |
ブラジル |
米州 |
2.0000000000000000000 |
CA |
カナダ |
米州 |
1.0000000000000000000 |
CH |
スイス |
ヨーロッパ |
3.0000000000000000000 |
CN |
中国 |
アジア |
1.0000000000000000000 |
DE |
ドイツ |
ヨーロッパ |
1.0000000000000000000 |
DK |
デンマーク |
ヨーロッパ |
自然右外部結合¶
Oracle¶
結果¶
REGION_ID |
COUNTRY_ID |
COUNTRY_NAME |
REGION_NAME |
|---|---|---|---|
5 |
オセアニア |
||
4 |
ZW |
ジンバブエ |
中東、アフリカ |
4 |
ZM |
ザンビア |
中東、アフリカ |
2 |
US |
アメリカ合衆国 |
米州 |
1 |
UK |
英国 |
ヨーロッパ |
3 |
SG |
シンガポール |
アジア |
1 |
NL |
オランダ |
ヨーロッパ |
4 |
NG |
ナイジェリア |
中東、アフリカ |
2 |
MX |
メキシコ |
米州 |
3 |
ML |
マレーシア |
アジア |
Snowflake¶
結果¶
REGION_ID |
COUNTRY_ID |
COUNTRY_NAME |
REGION_NAME |
|---|---|---|---|
5.0000000000000000000 |
オセアニア |
||
4.0000000000000000000 |
ZW |
ジンバブエ |
中東、アフリカ |
4.0000000000000000000 |
ZM |
ザンビア |
中東、アフリカ |
2.0000000000000000000 |
US |
アメリカ合衆国 |
米州 |
1.0000000000000000000 |
UK |
英国 |
ヨーロッパ |
3.0000000000000000000 |
SG |
シンガポール |
アジア |
1.0000000000000000000 |
NL |
オランダ |
ヨーロッパ |
4.0000000000000000000 |
NG |
ナイジェリア |
中東、アフリカ |
2.0000000000000000000 |
MX |
メキシコ |
米州 |
3.0000000000000000000 |
ML |
マレーシア |
アジア |
3.USING を使用したベーシック外部結合¶
テーブル列は、 USING キーワードを使用して結合できます。結果は、 ON キーワードを使った基本的な OUTER JOIN と同じになります。
を使用した左外部結合¶
Oracle¶
結果¶
REGION_ID |
COUNTRY_ID |
COUNTRY_NAME |
REGION_NAME |
|---|---|---|---|
0 |
-- |
国名不明 |
|
2 |
AR |
アルゼンチン |
米州 |
3 |
AU |
オーストラリア |
アジア |
1 |
BE |
ベルギー |
ヨーロッパ |
2 |
BR |
ブラジル |
米州 |
2 |
CA |
カナダ |
米州 |
1 |
CH |
スイス |
ヨーロッパ |
3 |
CN |
中国 |
アジア |
1 |
DE |
ドイツ |
ヨーロッパ |
1 |
DK |
デンマーク |
ヨーロッパ |
Snowflake¶
結果¶
REGION_ID |
COUNTRY_ID |
COUNTRY_NAME |
REGION_NAME |
|---|---|---|---|
0.0000000000000000000 |
-- |
国名不明 |
|
2.0000000000000000000 |
AR |
アルゼンチン |
米州 |
3.0000000000000000000 |
AU |
オーストラリア |
アジア |
1.0000000000000000000 |
BE |
ベルギー |
ヨーロッパ |
2.0000000000000000000 |
BR |
ブラジル |
米州 |
2.0000000000000000000 |
CA |
カナダ |
米州 |
1.0000000000000000000 |
CH |
スイス |
ヨーロッパ |
3.0000000000000000000 |
CN |
中国 |
アジア |
1.0000000000000000000 |
DE |
ドイツ |
ヨーロッパ |
1.0000000000000000000 |
DK |
デンマーク |
ヨーロッパ |
4. (+) Operator¶
OracleとSnowflakeには、外部結合にも使用できる(+)演算子があります。この演算子を使用すると、Snowflakeが正常に動作しない場合があります。
Snowflakeのこの演算子に関する詳細情報については、 こちら をご覧ください。
(+)演算子による左外部結合¶
Oracle¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
国名不明 |
0 |
||
AR |
アルゼンチン |
2 |
2 |
米州 |
AU |
オーストラリア |
3 |
3 |
アジア |
BE |
ベルギー |
1 |
1 |
ヨーロッパ |
BR |
ブラジル |
2 |
2 |
米州 |
CA |
カナダ |
2 |
2 |
米州 |
CH |
スイス |
1 |
1 |
ヨーロッパ |
CN |
中国 |
3 |
3 |
アジア |
DE |
ドイツ |
1 |
1 |
ヨーロッパ |
DK |
デンマーク |
1 |
1 |
ヨーロッパ |
Snowflake¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
国名不明 |
0.0000000000000000000 |
||
AR |
アルゼンチン |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
AU |
オーストラリア |
3.0000000000000000000 |
3.0000000000000000000 |
アジア |
BE |
ベルギー |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
BR |
ブラジル |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
CA |
カナダ |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
CH |
スイス |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
CN |
中国 |
3.0000000000000000000 |
3.0000000000000000000 |
アジア |
DE |
ドイツ |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
DK |
デンマーク |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
(+)演算子による右外部結合¶
Oracle¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
5 |
オセアニア |
||
ZW |
ジンバブエ |
4 |
4 |
中東、アフリカ |
ZM |
ザンビア |
4 |
4 |
中東、アフリカ |
US |
アメリカ合衆国 |
2 |
2 |
米州 |
UK |
英国 |
1 |
1 |
ヨーロッパ |
SG |
シンガポール |
3 |
3 |
アジア |
NL |
オランダ |
1 |
1 |
ヨーロッパ |
NG |
ナイジェリア |
4 |
4 |
中東、アフリカ |
MX |
メキシコ |
2 |
2 |
米州 |
ML |
マレーシア |
3 |
3 |
アジア |
Snowflake¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
|---|---|---|---|---|
-- |
5.0000000000000000000 |
オセアニア |
||
ZW |
ジンバブエ |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
ZM |
ザンビア |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
US |
アメリカ合衆国 |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
UK |
英国 |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
SG |
シンガポール |
3.0000000000000000000 |
3.0000000000000000000 |
アジア |
NL |
オランダ |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
NG |
ナイジェリア |
4.0000000000000000000 |
4.0000000000000000000 |
中東、アフリカ |
MX |
メキシコ |
2.0000000000000000000 |
2.0000000000000000000 |
米州 |
ML |
マレーシア |
3.0000000000000000000 |
3.0000000000000000000 |
アジア |
複数のテーブルを(+)で結合した単一テーブル¶
Oracleでは、(+)演算子を使って1つのテーブルと複数のテーブルを結合することができますが、Snowflakeではサポートしていません。この種の外部結合を持つクエリは、 ANSI 構文に変更されます。
Oracle¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_NAME |
LOCATION_ID |
STREET_ADDRESS |
POSTAL_CODE |
CITY |
|---|---|---|---|---|---|---|---|
1 |
ヨーロッパ |
2000 |
40-5-12 Laogianggen |
190518 |
北京 |
||
CH |
スイス |
1 |
ヨーロッパ |
3000 |
Murtenstrasse 921 |
3095 |
ベルン |
1 |
ヨーロッパ |
2100 |
1298 Vileparle(E) |
490231 |
ボンベイ |
||
CH |
スイス |
1 |
ヨーロッパ |
2900 |
20 Rue des Corps-Saints |
1730 |
ジュネーブ |
1 |
ヨーロッパ |
1300 |
9450 Kamiya-cho |
6823 |
広島 |
||
UK |
英国 |
1 |
ヨーロッパ |
2400 |
8204 Arthur St |
ロンドン |
|
1 |
ヨーロッパ |
3200 |
Mariano Escobedo 9991 |
11932 |
メキシコシティ |
||
DE |
ドイツ |
1 |
ヨーロッパ |
2700 |
Schwanthalerstr.7031 |
80925 |
ミュンヘン |
UK |
英国 |
1 |
ヨーロッパ |
2500 |
Magdalen Centre, The Oxford Science Park |
OX9 に 9ZB |
オックスフォード |
IT |
イタリア |
1 |
ヨーロッパ |
1000 |
1297 Via Cola di Rie |
00989 |
ローマ |
Snowflake¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_NAME |
LOCATION_ID |
STREET_ADDRESS |
POSTAL_CODE |
CITY |
|---|---|---|---|---|---|---|---|
1.0000000000000000000 |
ヨーロッパ |
2000 |
40-5-12 Laogianggen |
190518 |
北京 |
||
CH |
スイス |
1.0000000000000000000 |
ヨーロッパ |
3000 |
Murtenstrasse 921 |
3095 |
ベルン |
1.0000000000000000000 |
ヨーロッパ |
2100 |
1298 Vileparle(E) |
490231 |
ボンベイ |
||
CH |
スイス |
1.0000000000000000000 |
ヨーロッパ |
2900 |
20 Rue des Corps-Saints |
1730 |
ジュネーブ |
1.0000000000000000000 |
ヨーロッパ |
1300 |
9450 Kamiya-cho |
6823 |
広島 |
||
UK |
英国 |
1.0000000000000000000 |
ヨーロッパ |
2400 |
8204 Arthur St |
ロンドン |
|
1.0000000000000000000 |
ヨーロッパ |
3200 |
Mariano Escobedo 9991 |
11932 |
メキシコシティ |
||
DE |
ドイツ |
1.0000000000000000000 |
ヨーロッパ |
2700 |
Schwanthalerstr.7031 |
80925 |
ミュンヘン |
UK |
英国 |
1.0000000000000000000 |
ヨーロッパ |
2500 |
Magdalen Centre, The Oxford Science Park |
OX9 に 9ZB |
オックスフォード |
IT |
イタリア |
1.0000000000000000000 |
ヨーロッパ |
1000 |
1297 Via Cola di Rie |
00989 |
ローマ |
結合されていないテーブルの列と、列以外の値を持つ(+)演算子の使用¶
Oracleでは、(+)演算子を列で使用し、他のテーブルの列ではない値と結合することができます。Snowflakeでも可能ですが、列のテーブルが他のテーブルと結合されていない場合は失敗します。この問題を解決するため、このシナリオが発生した場合はクエリから(+)演算子を削除し、Oracleと同じ結果を得るようにします。
Oracle¶
結果¶
REGION_ID |
REGION_NAME |
|---|---|
2 |
米州 |
3 |
アジア |
Snowflake¶
結果¶
REGION_ID |
REGION_NAME |
|---|---|
2.0000000000000000000 |
米州 |
3.0000000000000000000 |
アジア |
既知の問題¶
サポートされていないすべてのケースについては、関連する EWIs を参照して、推奨事項と可能な回避策を入手してください。
1. Converted Outer Joins to ANSI syntax might reorder the columns¶
ANSI 外部結合ではないクエリを ANSI 外部結合に変換すると、変換後のクエリの列の順序が変更されることがあります。この問題を解決するには、列を特定の順序で選択してください。
Oracle¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
LOCATION_ID |
STREET_ADDRESS |
POSTAL_CODE |
CITY |
STATE_PROVINCE |
COUNTRY_ID |
|---|---|---|---|---|---|---|---|---|---|---|
1 |
ヨーロッパ |
2000 |
40-5-12 Laogianggen |
190518 |
北京 |
CN |
||||
CH |
スイス |
1 |
1 |
ヨーロッパ |
3000 |
Murtenstrasse 921 |
3095 |
ベルン |
BE |
CH |
1 |
ヨーロッパ |
2100 |
1298 Vileparle(E) |
490231 |
ボンベイ |
マハーラーシュトラ |
IN |
|||
CH |
スイス |
1 |
1 |
ヨーロッパ |
2900 |
20 Rue des Corps-Saints |
1730 |
ジュネーブ |
ジュネーブ |
CH |
1 |
ヨーロッパ |
1300 |
9450 Kamiya-cho |
6823 |
広島 |
JP |
||||
UK |
英国 |
1 |
1 |
ヨーロッパ |
2400 |
8204 Arthur St |
ロンドン |
UK |
||
1 |
ヨーロッパ |
3200 |
Mariano Escobedo 9991 |
11932 |
メキシコシティ |
ブラジリア連邦直轄区 |
MX |
|||
DE |
ドイツ |
1 |
1 |
ヨーロッパ |
2700 |
Schwanthalerstr.7031 |
80925 |
ミュンヘン |
バイエルン |
DE |
UK |
英国 |
1 |
1 |
ヨーロッパ |
2500 |
Magdalen Centre, The Oxford Science Park |
OX9 に 9ZB |
オックスフォード |
オックスフォード |
UK |
IT |
イタリア |
1 |
1 |
ヨーロッパ |
1000 |
1297 Via Cola di Rie |
00989 |
ローマ |
IT |
Snowflake¶
結果¶
REGION_ID |
REGION_NAME |
LOCATION_ID |
STREET_ADDRESS |
POSTAL_CODE |
CITY |
STATE_PROVINCE |
COUNTRY_ID |
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
|---|---|---|---|---|---|---|---|---|---|---|
1.0000000000000000000 |
ヨーロッパ |
2000 |
40-5-12 Laogianggen |
190518 |
北京 |
CN |
||||
1.0000000000000000000 |
ヨーロッパ |
3000 |
Murtenstrasse 921 |
3095 |
ベルン |
BE |
CH |
CH |
スイス |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
2100 |
1298 Vileparle(E) |
490231 |
ボンベイ |
マハーラーシュトラ |
IN |
|||
1.0000000000000000000 |
ヨーロッパ |
2900 |
20 Rue des Corps-Saints |
1730 |
ジュネーブ |
ジュネーブ |
CH |
CH |
スイス |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
1300 |
9450 Kamiya-cho |
6823 |
広島 |
JP |
||||
1.0000000000000000000 |
ヨーロッパ |
2400 |
8204 Arthur St |
ロンドン |
UK |
UK |
英国 |
1.0000000000000000000 |
||
1.0000000000000000000 |
ヨーロッパ |
3200 |
Mariano Escobedo 9991 |
11932 |
メキシコシティ |
ブラジリア連邦直轄区 |
MX |
|||
1.0000000000000000000 |
ヨーロッパ |
2700 |
Schwanthalerstr.7031 |
80925 |
ミュンヘン |
バイエルン |
DE |
DE |
ドイツ |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
2500 |
Magdalen Centre, The Oxford Science Park |
OX9 に 9ZB |
オックスフォード |
オックスフォード |
UK |
UK |
英国 |
1.0000000000000000000 |
1.0000000000000000000 |
ヨーロッパ |
1000 |
1297 Via Cola di Rie |
00989 |
ローマ |
IT |
IT |
イタリア |
1.0000000000000000000 |
2.複数のテーブルを持つ間隔を持つ外部結合されたBetween述語¶
Between述語は、ANSI OUTER JOINS 以外の場合に使用できます。Oracleでは、間隔内の列は異なるテーブルからのものであっても外部結合できますが、Snowflakeはこれをサポートしていません。このような場合、Between述語はコメントアウトされます。
Oracle¶
結果¶
COUNTRY_ID |
COUNTRY_NAME |
REGION_ID |
REGION_ID |
REGION_NAME |
LOCATION_ID |
STREET_ADDRESS |
POSTAL_CODE |
CITY |
STATE_PROVINCE |
COUNTRY_ID |
|---|---|---|---|---|---|---|---|---|---|---|
1 |
ヨーロッパ |
2000 |
40-5-12 Laogianggen |
190518 |
北京 |
CN |
||||
1 |
ヨーロッパ |
3000 |
Murtenstrasse 921 |
3095 |
ベルン |
BE |
CH |
|||
1 |
ヨーロッパ |
2100 |
1298 Vileparle(E) |
490231 |
ボンベイ |
マハーラーシュトラ |
IN |
|||
1 |
ヨーロッパ |
2900 |
20 Rue des Corps-Saints |
1730 |
ジュネーブ |
ジュネーブ |
CH |
|||
1 |
ヨーロッパ |
1300 |
9450 Kamiya-cho |
6823 |
広島 |
JP |
||||
1 |
ヨーロッパ |
2400 |
8204 Arthur St |
ロンドン |
UK |
|||||
1 |
ヨーロッパ |
3200 |
Mariano Escobedo 9991 |
11932 |
メキシコシティ |
ブラジリア連邦直轄区 |
MX |
|||
1 |
ヨーロッパ |
2700 |
Schwanthalerstr.7031 |
80925 |
ミュンヘン |
バイエルン |
DE |
|||
1 |
ヨーロッパ |
2500 |
Magdalen Centre, The Oxford Science Park |
OX9 に 9ZB |
オックスフォード |
オックスフォード |
UK |
|||
1 |
ヨーロッパ |
1000 |
1297 Via Cola di Rie |
00989 |
ローマ |
IT |
Snowflake¶
関連 EWIs¶
[SSC-EWI-OR0090](../../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/oracleEWI.md#ssc-ewi-or0090):非Ansi外部結合に無効なBetween述語があります。
自己結合¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
説明¶
自己結合はテーブルとそれ自身との結合です。このテーブルは
FROM句に2回登場し、結合条件の列名を修飾するテーブルエイリアスが続きます。(Oracle SQL 言語リファレンス自己結合サブセクション)
サンプルソースパターン¶
注釈
結果の順序がOracleとSnowflakeで異なる可能性があるため、Order by 句を追加しました。
注釈
この セクション を確認して、サンプルデータベースをセットアップします。
ベーシック自己結合ケース¶
Oracle¶
結果¶
従業員とそのマネージャー |
|---|
RajsはMourgosのために働く |
RaphaelyはKingのために働く |
RogersはKauflingのために働く |
RusselはKingのために働く |
Snowflake¶
結果¶
従業員とそのマネージャー |
|---|
RajsはMourgosのために働く |
RaphaelyはKingのために働く |
RogersはKauflingのために働く |
RusselはKingのために働く |
注釈
以前に証明したように、Oracleの 自己結合 はSnowflakeと機能的に同等です。
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
関連 EWIs はありません。
準結合¶
注釈
わかりやすくするため、出力コードの一部を省略しています。
説明¶
準結合は、右側の複数の行がサブクエリの条件を満たす場合、述語の左側の行を重複させることなく、
EXISTSサブクエリにマッチする行を返します。サブクエリがWHERE句のORブランチ上にある場合は、準結合変換を実行できません。(Oracle SQL 言語リファレンス準結合サブセクション)
サンプルソースパターン¶
注釈
結果の順序がOracleとSnowflakeで異なる可能性があるため、Order by 句を追加しました。
注釈
この セクション を確認して、サンプルデータベースをセットアップします。
ベーシック準結合ケース¶
Oracle¶
結果¶
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|---|---|---|---|
110 |
会計 |
205 |
1700 |
10 |
管理 |
200 |
1700 |
90 |
経営 |
100 |
1700 |
100 |
ファイナンス |
108 |
1700 |
40 |
人事 |
203 |
2400 |
60 |
IT |
103 |
1400 |
20 |
マーケティング |
201 |
1800 |
70 |
広報活動 |
204 |
2700 |
30 |
購買 |
114 |
1700 |
80 |
販売 |
145 |
2500 |
50 |
配送 |
121 |
1500 |
Snowflake¶
結果¶
DEPARTMENT_ID |
DEPARTMENT_NAME |
MANAGER_ID |
LOCATION_ID |
|---|---|---|---|
110 |
会計 |
205 |
1700 |
10 |
管理 |
200 |
1700 |
90 |
経営 |
100 |
1700 |
100 |
ファイナンス |
108 |
1700 |
40 |
人事 |
203 |
2400 |
60 |
IT |
103 |
1400 |
20 |
マーケティング |
201 |
1800 |
70 |
広報活動 |
204 |
2700 |
30 |
購買 |
114 |
1700 |
80 |
販売 |
145 |
2500 |
50 |
配送 |
121 |
1500 |
注釈
以前に証明したように、Oracleの 準結合 はSnowflakeと機能的に同等です。
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
関連 EWIs はありません。