Vantage SQL プラグインの基本
この入門ガイドへようこそ。このガイドでは はじめてのSQLクエリを順を追って説明します。より多くのコマンドを含む充実したノートブックは オンラインの Teradata Vantage Modules for Jupyter でご覧いただけます。
Teradata SQLプラグインの基本的な使い方は「Vantage Modules for Jupyterのナビゲーションと基本的な操作」 を参照してください。
SQL入門
データベースに接続
「local」と言うデータベース接続定義で接続しています。
%connect local
テーブルを参照しないSELECT
実行できる最も簡単なSQLは、例えば2+2のような数式を計算することです。
SELECT 2+5
はじめの本格的なSQLクエリを実行してみましょう
DBC.TablesVという名前のテーブルから10行を取得することになります。
SELECT top 10 * FROM DBC.TablesV;
SELECT : 抽出したい列を定義します。
top 10 は先頭から10行を要求しています。
* は全ての項目を要求しています。
FROM : ソースデータを指定します。
DBCと言うデータベースにある TablesVテーブルをソースデータとして利用します。
Tablename と Databasename カラムを DBC.TablesVテーブルから5行取得する場合は以下のように記述します。
SELECT top 5 TableName, DatabaseName FROM DBC.TablesV;
結果の並び替え(ORDER BY)
SELECT top 5 TableName, DatabaseName FROM DBC.TablesV ORDER BY TableName;
ORDER BY : 並び替える順番をカラムで指定します。
TableName の値の順番に結果がソートされます。
項目の降順で並び替えたい場合は項目の後ろに「DES」と記述します。
SELECT top 5 TableName, DatabaseName FROM DBC.TablesV ORDER BY TableName DESC;
ASC : 昇順(省略可能)
DESC : 降順
フィルタリング
SELECT top 50 * FROM DBC.TablesV
WHERE TableKind = 'T'
ORDER BY DatabaseName DESC, TableName
WHERE : フィルタリングの条件を指定します。
この例では TableKind が 'T' の行を抽出しています。
SELECT top 50 * FROM DBC.TablesV
WHERE (TableKind = 'T' AND CreatorName = 'DBC')
OR (TableKind = 'T' AND CreatorName = 'SYSADM')
ORDER BY DatabaseName DESC, TableName
条件は 確固で条件をまとめ ANDとORでつなげる事ができます。
集計
集約条件と集計関数を使いデータを集計できます。
SELECT top 20 DatabaseName, count(*) as ObjectCount FROM DBC.TablesV
GROUP BY DatabaseName
ORDER BY DatabaseName
GROUP BY : グルーピング項目を指定します。
この例では DatabaseNameごとの件数を算出しています。
COUNT(*) : レコードの件数を算出します。
この例では、データベース名ごとの TableBytesの最小値、最大値、件数を求めています。
FROM句でSQLを入れ子に確固で囲んでいます。これをサブクエリと言います。
サブクエリの結果をテーブルとみなして、さらにクエリを実行しています。
SELECT
TOP 20 databasename,
MIN(TableBytes) AS MinSize,
MAX(TableBytes) AS MaxSize,
COUNT(*) AS #Objects_Using_Space
FROM (
SELECT
DatabaseName,
TableName,
Sum(CurrentPerm) as TableBytes
From DBC.TablesizeV
Group By DatabaseName, Tablename
) as Subtotals
GROUP BY DatabaseName order by DatabaseName;
COUNT(X) : 件数
SUM(X) : Xの値を合計
MIN(X) : Xの値の最小値
MAX(X) : Xの値の最大値
データベースから切断
「local」の接続を切断します。
%disconnect local
おわりに
警告
この本書はTeradata Vantageドキュメンテーションよりトピックに必要な情報を抜粋したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。