この記事では、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 asc
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;
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;
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)
ここでの SQL ステートメントには意味がないことに注意してください。これは、using の使用法を説明するための突飛な例にすぎません。
ここで説明する必要があるのは次のとおりです:
using キーワードを使用し、選択結果リスト項目に using キーワードで指定されたキーワードが含まれる場合は、そのキーワードを選択結果リスト項目に含めないでください。キーワードがどのテーブルに属しているか たとえば、(prod_id) を使用し、prod_id フィールドを結果リストに含める場合は、sales.prod_id やcosts.prod_id と記述せず、prod_id と記述してください。エイリアスは使用せず、たとえば「製品番号」として prod_id という形式を使用してください。
Oracle ビデオ チュートリアル 」
以上がキーワードを使ったOracle学習(具体例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。