お役立ちコラム|データブレンド - SQLコマンドの基礎編

著:Guy 訳:Merrick

SQLは難しいと思いますか?

Datadeckの新しいデータブレンド機能を使いたいのであれば、いくつかの基本的なSQL知識を知る必要があります。
この記事では、SQLの簡単な使い方をご紹介できればと考えています。

SQLチートシートをご共有できればと思います。
チートシートがあればSQLを覚えなくても コピー&ペースト だけでデータの突合作業ができちゃいます。楽です!!

Datadeckは、複数のデータソースからのデータを1つのチャートや、カードに一元管理できるようになりました。そのため、この新しい機能を最大限に活用するために基本的なSQLクエリスキルを向上させましょう。
このサンプルでは、​​Tableau - Superstore Demoスプレッドシートを使用したいと思います。
(練習したい場合はダウンロードしてDatadeckアカウントにアップロードしてください)

まず、概念から初めましょう。


SQLとは何ですか?

SQLは、データブレンド機能で使用する言語であるStructured Query Languageの略です。
要はデータベースやデータソースと会話するために使用されています。

SQLクエリとは何ですか?

SQLクエリまたはSQL文は、必要なデータをDatadeckから取得するために使用される言葉です。
それで、このようなことを考えてみてください…
“ねえ、Datadeck、スーパーマーケットの車のファイルからの最新のおもちゃ車の販売数量を探してください。”

これは普通の言葉ですが、SQLクエリはそれほど違いはありません。


早速、SQLの本体を見てみましょう。

SQLの基本
私たちはいつも以下のように始まります:
SELECT
FROM

どこからなにを探すかと意味あいで、あなたが見たい実際の結果がSELECTで表示されます。

サンプルでは SELECT Sales を利用しています。
FROM はソースの列を参照しています。

完全なSQLクエリは次のようになります。

SELECT Sales FROM Orders

さぁ!レッツ、最初のクエリを作成しました。

私のサンプルでは、​​2018年11月までのデータを利用しましたので、実際に、この条件を追加するのは非常に簡単です。

WHEREコマンドを利用します。
WHERE productname = “Toy cars”

新しいSQLクエリは次のようになります。

SELECT Sales FROM Orders WHERE productname = “Toy cars”

DatadeckのSQLチートシート

「私たちはDatadeckのデータブレンディング機能を最大限に活用するために、
使いやすいSQLクエリの概要を作成しました。
お気軽にお問い合わせください。
または、ユーザーと共有したいクエリの要望があれば、ご送信してください。」

[オーダー] 表のすべての行を選択し、すべてのフィールドを含めます

SELECT * FROM Order

「注文」 テーブルのすべての行を選択し、「注文日付」フィールドでソートします。

SELECT * FROM Orders ORDER BY Orders.Order Date

「受注」テーブルのすべての行を選択し、逆に「売上」 フィールドで並べ替えます

SELECT * FROM Orders ORDER BY Orders.Sales DESC

「売上」 フィールド値が1000より大きい「注文」 テーブルの行を選択し、選択したフィールドを含めます

SELECT
Orders.Order ID,
Orders.Order Date,
Orders.Sales
FROM
Orders
WHERE
Orders.Sales > 1000

「オーダー」 表の行を選択し、計算フィールドを追加します

SELECT
Orders.*,
(Orders.Sales / Orders.Discount) AS BeforeDiscount
FROM
Orders

「注文」テーブルの「国」フィールドの行をグループ化するには、売上と利益の合計

SELECT
Orders.Country,
SUM(Orders.Sales) AS TotalSales,
SUM(Orders.Profit) AS TotalProfit
FROM
Orders
GROUP BY
Orders.Country

「注文」テーブルと「注文ID」フィールドを照合して「返品」テーブルを結合し、両方のテーブルに存在する行のみを保持する

SELECT
Orders.*
FROM
Orders INNER JOIN Returned
ON
Orders.Order ID = Returned.Order ID

「注文」テーブルと「注文ID」フィールドを照合して「返品」テーブルを結合し、「注文」テーブルに存在するすべての行を保持する

SELECT
Orders.*,
Returned.Returned
FROM
Orders LEFT JOIN Returned
ON
Orders.Order ID = Returned.Order ID

全データ:すべての返品された注文を国別にグループ化し、ソートして合計売上と利益を得る

SELECT
Orders.Country,
SUM(Orders.Sales) AS TotalSales,
SUM(Orders.Profit) AS TotalProfit
FROM
Orders INNER JOIN Returned
ON
Orders.Order ID = Returned.Order ID
GROUP BY
Orders.Country
ORDER BY
TotalSales DESC

いいね!このコンテンツ。ところで、、このコンテンツカテゴリHow toじゃない?

サンキューですわ、移しったぜぇ