この記事では、Oracle に関する関連知識を紹介します。主に using キーワードに関する関連知識を紹介します。using キーワードを使用すると、接続クエリを簡素化できます。皆様のお役に立てれば幸いです。 。
推奨チュートリアル: 「Oracle チュートリアル 」
仕事中に、次のような SQL ステートメントを見つけました。
select tb.usrnm, tb.typ, tb.oprorder from tb inner join rb1 using (stfaprid) where tb1.jugsumid = #jugsumid# and tb1.blnorg = #blnorg# and isvld = '1' order by tb.typ asc, tb.oprorder ascSQL/92 標準では、using キーワードを使用して接続クエリを簡素化できますが、using キーワードは、次の 2 つの条件を満たす場合にのみクエリを簡素化するために使用できます。
select emptno,ename,sal,deptno,dname from emp e inner join dept d using(deptno);上記のステートメントを実行すると、結果は自然接続の結果と同じになります。
using キーワードを使用して接続を簡素化する場合は、次の点に注意する必要があります:
select... from table1 inner join table2 using(column1,column2)上記のステートメントは次のステートメントと同等です:
select... from table1 inner join table2 on table1.column1=table2.column2 and table1.column2=table2.column2;複数のテーブルを取得する場合は、次の形式で using キーワードを複数回使用して指定する必要があります:
select... from table1 inner join table2 using(column1) inner join table3 using(column2);上記のステートメントは、次のステートメントと同等です。
select... from table1,table2,table3 where table1.column1=table2.column1 and table2.column2=table3.column2;using に関する詳細説明 Oracle の結合接続の using キーワードは、自然結合に関連しています。
natraul 結合が使用されており、2 つのテーブルに同じ名前とデータ型を持つ複数のフィールドがある場合、これらのフィールドは Oracle によって独自に接続されると前述しました。
しかし、実際には、このように接続する必要がない場合もあります。同じ名前とデータ型を持つ複数のフィールドのうち 1 つまたは 2 つを選択するだけです。この時点では、using キーワードを使用する必要があります。以下に例を示します。
sales というテーブルと Cost というテーブルがあり、これら 2 つのテーブルには pro_id と time_id という 2 つのフィールドがあります。以下の接続の実際の意味については、当面は考慮せず、文法的な研究のみを行います。
自然接続を使用する場合、デフォルトでは、2 つのフィールドは自然に接続されます。
Select * from Sales natural join costs;と
Select * from Sales join costs on Sales.prod_id = costs.prod_id and sales.time_id = costs.time_idと
Select * from Sales ,costs Where Sales.pro_id = cost.prod_id and sales.time_id = costs.time_id結果は同じになるはずです。
自然結合を使用する場合、結合条件を制御する機会はありません。Oracle は、同じデータ型と名前を持つ 2 つのフィールドを独自の判断で自然に結合します。
以下では using キーワードを使用します。
Select * from Sales join costs using(prod_id)これにより、Oracle は、自然結合接続のデフォルトの 2 つのフィールドではなく、 を使用して接続することで指定されたフィールドを使用するようになります。
ここでの SQL ステートメントには意味がないことに注意してください。これは、using の使用法を説明するための突飛な例にすぎません。
ここで説明する必要があるのは次のとおりです:
using キーワードを使用し、選択結果リスト項目に using キーワードで指定されたキーワードが含まれる場合は、そのキーワードを選択結果リスト項目に含めないでください。キーワードがどのテーブルに属しているか たとえば、(prod_id) を使用し、prod_id フィールドを結果リストに含める場合は、sales.prod_id やcosts.prod_id と記述せず、prod_id と記述してください。エイリアスは使用せず、たとえば「製品番号」として prod_id という形式を使用してください。
Oracle ビデオ チュートリアル 」
以上がキーワードを使ったOracle学習(具体例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。