Python における Self とは: 実際の例
Python における Self とは: 実際の例
このチュートリアルでは、 SQL 一時テーブルとビューについて説明します。これら 2 つは、テストやデバッグのために物理テーブルから特定のデータ セットを取得する場合に便利です。2 種類の一時テーブルとその違いについても説明します。
SQL 一時テーブルとビューを使用すると、データはすでに別のテーブルに格納されているため、繰り返しクエリを実行することなく、複数のコマンドを使用してデータ セットを自由に操作できます。
これら 2 つは同様に機能しますが、違いに注意する必要があります。これは、特定の状況で使用できる最適な方法を決定するのに役立ちます。
名前自体に基づいて、一時テーブルはセッション内でデータを一時的に保存するために使用されます。
物理テーブルと同じように、それらに対して複数の操作を実行することもできます。非常に長い SQL コマンドがあると想像してください。これを一時テーブルに置くだけで、元のクエリに影響を与えることなくデバッグやエラーのトラブルシューティングを開始できます。さらに、一時テーブルは強力であり、SQL でよく使用されます。
目次
SQL の 2 種類の一時テーブル
SQLには2種類の一時テーブルがあります。これらはローカル一時テーブルとグローバル一時テーブルです。
ローカル一時テーブルは、それが作成されたセッションにのみ存在します。他のセッションではこのテーブルにアクセスできません。このため、ローカル一時テーブルは、作成されたセッションが閉じられると存在しなくなります。
対照的に、グローバル一時テーブルは、作成時にすべてのセッションでアクセスできます。ただし、すべてのセッションが閉じられると、セッションは存在しなくなり、アクセスできなくなります。
ローカル一時テーブルの「 # 」記号とグローバル一時テーブルの「 ## 」記号をチェックすることで、クエリで使用されている一時テーブルのタイプを簡単に識別できることに注意してください。
ローカル一時テーブルは通常、テーブル名が「 # 」で始まります。
一方、グローバル一時テーブルはテーブル名の前に「 ## 」で始まります。
さらに、テーブルをすばやく作成したい場合は、例としてSELECT * INTO #customers FROM dbo.courses というコマンドを実行できます。
このコマンドは、 dbo.coursesテーブルのすべてのデータを含む#customersという名前の新しい一時テーブルを作成します。
Microsoft SQL Server Management Studioのビュー
このサンプル コマンドを使用してSQL ビューについて説明しましょう。
たとえば、このようなコマンドを繰り返し実行したくないとします。以下のコマンドに従って簡単にビューに配置できます。
ビューの作成はテーブルの作成と似ています。これを使用すると、作成したビュー名を選択して入力したクエリを実行できるようになります。この場合、それはCustomersbyyear_vです。
ビューは一時テーブルとは異なることに注意することが重要です。これは、ビューを削除しない限り、物理テーブルと同じようにデータベース内でビューが表示されるためです。さらに、ビューにはデータや値は保存されません。
代わりに、 CREATE VIEWコマンドの直後に入力したコマンドが表示されます。ビュー内で任意のテーブル操作を実行することもできます。
最も重要なことは、ビューは通常、ビュー名の先頭または末尾に「v」を付けることで表されるため、簡単に識別できることです。
SQL での一時テーブルとビューの作成
この例では、実行後にSales.SalesOrderHeaderとSales.Customer Cのレコードを結合して表示するクエリがあります。
SQL でのローカル一時テーブルの作成
200 行の長さのクエリを作成し、それに対してデバッグして特定の操作を実行する必要があると想像してください。プロセス中にさらなるエラーが発生する可能性があるため、クエリを直接編集することはできません。
その場合、前の例を使用して、 FROM コマンドの前にコマンド「 INTO #test_local 」を追加してローカル一時テーブルを作成します。
このコマンドを実行すると、#test_local にはSales.SalesOrderHeaderとSales.Customer Cの結合されたレコードが含まれるようになります。その結果、 #test_localテーブルを選択すると、次のようになります。
その後、#test_localテーブルに対してあらゆる操作を実行できるようになります。#test_localからすべてのレコードを選択し、次のコマンドを使用してCustomerIDごとにレコードの順序を変更します。
その結果、レコードは CustomerID によって並べ替えられるようになりました。ただし、ローカルの一時テーブルを使用したため、別のセッションで#test_localテーブルにアクセスしたり、使用したりすることはできません。次の例は、 SQLQuery2.sqlの#test_localにアクセスしようとすると何が起こるかを示しています。
前の例に基づくと、#test_localを選択すると、エラー メッセージが表示されるだけでした。これは、#test_localテーブルがそれが作成されたセッション ( SQLQuery1.sql )にのみ存在するためです。
SQL でのグローバル一時テーブルの作成
次に、 #test_localで使用したのと同じクエリを使用します。ただし、今回はグローバルを使用します。
ここで、##test_globalを選択し、CustomerID でレコードを並べ替えると、同じクエリを使用したため、 #test_localで得たものと同じ出力が表示されます。
その後、別のセッションで##test_globalテーブルを選択してアクセスを試みます。グローバル一時テーブルを使用しているため、これはシームレスに機能します。
この時点で、ローカル一時テーブルとグローバル一時テーブルの違いを強調しています。
ローカル一時テーブルは、それが作成されたセッション内でのみアクセスできることに注意してください。そのセッションを閉じると、セッションは存在しなくなります。
一方、グローバル一時テーブルは、すべてのアクティブなセッションまたはアプリケーション自体を閉じない限り、すべてのセッションに表示されます。
SQL でのビューの作成
これからビューを作成していきます。この例では、次のような既存のクエリがあります。
CREATE VIEWコマンドをクエリに追加することで、ビューの作成を開始できます。
コマンドを実行すると、作業中のデータベースにビューが作成されます。この場合は、 AdventureWorks2012です。
また、更新後に Views フォルダーにdbo.CustomerView_v が表示されるはずです。Views フォルダーを更新するには、それを右クリックして[更新]を選択します。
Views フォルダーの右側にある + アイコンをクリックすると、dbo.CustomerView_vが表示されます。
このビューを開くには、 dbo.CustomerView_vを右クリックし、オプションから[上位 1000 行の選択]を選択します。これにより、そのビューに 1000 件のレコードが表示されます。
この後、 dbo.CustomerView_vを使用して、テーブルと同様にあらゆる操作を実行できるようになります。たとえば、dbo.CustomerView_vで SalesOrderID が 50000 より大きいレコードを選択するとします。この場合、次のコマンドを使用します。
これで、作成したビューに対して操作を実行できるようになりました。
結論
要約すると、2 種類の一時テーブルとその違い、およびそれらを使用する必要がある理由について学びました。さらに、一時テーブルは、実際のクエリを損傷することなくクエリ内のエラーを修正する方法として機能することについて説明しました。
一時テーブルは、それが作成されたセッションにのみ表示されることに注意してください。したがって、アクティブなセッションまたはアプリケーション自体を閉じると、それは存在しなくなります。
また、ビューにはデータやレコードが保存されないこともわかりました。レンダリングしたいクエリに基づいた結果のみが表示されます。これらのビューは、作成されるとデータベースに保存されます。
これら 2 つを学習すると、長いコマンドをすばやく実行し、データセットの大きな部分を簡単に変更できるようになります。
ではごきげんよう、
ハーフィズ
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて