データ サイエンスに欠かせない 10 の SQL コマンド


著者による画像

データ サイエンスのキャリアに役立つ SQL コマンドを学ぶ新しい日です。 SQL クエリを使用して、要件に合わせてデータベースを抽出、保存、および変更します。

では、データを抽出し、SQL データベースで迅速な分析を実行するために最もよく使用されるコマンドを学習することを妨げているのは何ですか?

この投稿では、オンライン SQL エディターを使用したコード例を使用して、重要な SQL コマンドを学習します。 これにより、ユーザーは問題なくオンライン クエリを実行できます。 プラットフォームには、練習用のエディターと 3 つの SQL テーブルが付属しています。 データベースは、次の 3 つのテーブルで構成されています。 お客様注文、 と 送料.

  1. 選択する
  2. 明確
  3. どこ
  4. お気に入り
  5. オーダーバイ
  6. なので
  7. 加入
  8. 連合
  9. グループ化
  10. 場合

SELECT コマンドを使用すると、選択した列またはすべての列をテーブルから抽出できます。 これは、SQL クエリの基本的な構成要素です。

この例では、 お客様 テーブル。

顧客ID ファーストネーム 苗字
1 ジョン 31 アメリカ合衆国
2 ロバート ルナ 22 アメリカ合衆国
3 デビッド ロビンソン 22 イギリス
4 ジョン ラインハルト 25 イギリス
5 ベティ 28 アラブ首長国連邦

2 番目の例では、 お客様 テーブル。 カンマ「,」で区切って列名を入力し、最後に から コマンドとテーブル名。

SELECT first_name,
       last_name,
       country
FROM Customers;
ファーストネーム 苗字
ジョン アメリカ合衆国
ロバート ルナ アメリカ合衆国
デビッド ロビンソン イギリス
ジョン ラインハルト イギリス
ベティ アラブ首長国連邦

DISTINCT は、列から一意の値を表示するために使用されます。 2 つの John を表示する代わりに、1 つの John を表示しています。

SELECT DISTINCT first_name
FROM Customers;
ファーストネーム
ジョン
ロバート
デビッド
ベティ

WHERE コマンドは、条件とフィルタリングに使用されます。 年齢が 25 歳以上の顧客を表示するためにテーブルをフィルタリングします。 <、以下 <=、 以上 >=、および等しい =.

SELECT *
FROM Customers
WHERE age > 25;

結果は、25 歳以上の顧客が 2 人しかいないことを示しています。

顧客ID ファーストネーム 苗字
1 ジョン 31 アメリカ合衆国
5 ベティ 28 アラブ首長国連邦

を使用して、2 つ以上を組み合わせることもできます。 の間に、 と . 私たちの場合、米国を拠点とする 25 歳以上の顧客を探しています。

SELECT *
FROM Customers
WHERE age > 25
  AND country == 'USA';
顧客ID ファーストネーム 苗字
1 ジョン 31 アメリカ合衆国

LIKE コマンドは、文字列のフィルタリングに使用されます。 式を指定すると、式に一致する値を見つけるために使用されます。 たとえば、J で始まるすべての名前が必要な場合は、「J%」を使用します。 J で終わる名前を見つけるには、「%J」を使用します。 とてもシンプルです。

SELECT *
FROM Customers
WHERE first_name LIKE "J%";
顧客ID ファーストネーム 苗字
1 ジョン 31 アメリカ合衆国
4 ジョン ラインハルト 25 イギリス

顧客を探してみましょう ファーストネーム 「じ」で始まり、 苗字 「え」で終わる。 SQL LIKE 演算子の例のチュートリアルを読むことで、特定の状況に合わせて式を作成する他のすべての方法を確認できます。

SELECT *
FROM Customers
WHERE first_name LIKE "J%"
  OR last_name LIKE "%e";
顧客ID ファーストネーム 苗字
1 ジョン 31 アメリカ合衆国
4 ジョン ラインハルト 25 イギリス
5 ベティ 28 アラブ首長国連邦

ORDER BY は、クエリ結果の並べ替えに使用されます。 ORDER BY を使用して結果を並べ替えました。 ファーストネーム 昇順で。

SELECT *
FROM Customers
ORDER BY first_name;
顧客ID ファーストネーム 苗字
5 ベティ 28 アラブ首長国連邦
3 デビッド ロビンソン 22 イギリス
1 ジョン 31 アメリカ合衆国
4 ジョン ラインハルト 25 イギリス
2 ロバート ルナ 22 アメリカ合衆国

を使用して、結果を降順に並べ替えることができます 説明 最後に。

SELECT *
FROM Customers
ORDER BY first_name DESC;
顧客ID ファーストネーム 苗字
2 ロバート ルナ 22 アメリカ合衆国
1 ジョン 31 アメリカ合衆国
4 ジョン ラインハルト 25 イギリス
3 デビッド ロビンソン 22 イギリス
5 ベティ 28 アラブ首長国連邦

AS コマンドは、エイリアスの作成または列名の名前変更に使用されます。 以下の例では、「customer_id」を「ID」に、「first_name」を「Name」に変更しています。

SELECT customer_id AS ID,
       first_name AS Name
FROM Customers;
ID 名前
1 ジョン
2 ロバート
3 デビッド
4 ジョン
5 ベティ

データ分析のために複数のテーブルを結合しますが、それは非常に簡単です。 使うだけ 左結合内部結合右結合、 金 完全結合 最初のテーブルの後。 2 番目のテーブル名を書き、その後に続けて 私たち 特定の列でテーブルを結合します。 この場合、両方のテーブルに共通の列があり、 顧客ID. 「==」記号で両方の列名を使用してテーブルを結合します。

SELECT first_name,
       item,
       amount
FROM Customers
LEFT JOIN Orders 
ON Customers.customer_id == Orders.customer_id
ファーストネーム アイテム
ジョン キーボード 400
ロバート マウスパッド 250
デビッド モニター 12000
ジョン キーボード 400
ジョン ねずみ 300
ベティ

UNION は、2 つのクエリ結果を一緒に表示するために使用されます。 例では、「first_name」を「Name_item」として表示しています。 お客様 テーブルと「アイテム」から 注文 一緒にテーブル。

ノート: 両方のクエリが同じ数の列を表示していることを確認してください。

SELECT first_name AS Name_item
FROM Customers
UNION
SELECT item
FROM Orders

ご覧のとおり、結果には、 お客様 からのアイテム 注文. 列は AZ から並べ替えられます。

Name_item
ベティ
デビッド
ジョン
キーボード
モニター
ねずみ
マウスパッド
ロバート

GROUP By コマンドは、データ分析タスクで頻繁に使用されます。 任意の列をグループ化して、データ分布をよりよく理解できます。

GROUP BY には集計関数が必要です。

  • COUNT: 総行数
  • SUM: すべての値の合計
  • MAX: 最大値
  • MIN: 最小値
  • AVG: 平均値

集計関数と GROUP BY を使用して、値を列内のカテゴリに結合できます。 以下の例では、金額を合計し、アイテム名でグループ化します。

SELECT item,
       SUM(amount)
FROM Orders
GROUP BY item

1 つのキーボードの価格は 400 で、2 つのキーボードを販売しました。 合計して 800 を表示しています。これは単純な例ですが、これが始まりです。

アイテム SUM(金額)
キーボード 800
モニター 12000
ねずみ 300
マウスパッド 250

CASE コマンドは次のようになります。 if-else ステートメント Python またはその他の言語で。 条件に基づいてカテゴリを作成するために使用します。

金額が 1000 未満の場合は「低」を返し、それ以外の場合は「高」を返します。

コマンドは 場合 で終わります 終わり および列名。

イチイ に置き換えられます いつそうしないと に置き換えられます そうしないと。

SELECT item,
       amount,
       CASE
           WHEN amount < 1000 THEN 'Low'
           ELSE 'High'
       END AS Priority
FROM Orders;
アイテム 優先順位
キーボード 400 低い
ねずみ 300 低い
モニター 12000 高い
キーボード 400 低い
マウスパッド 250 低い

アビッド・アリ・アワン (@1abidaliawan) は、機械学習モデルの構築が大好きな認定データ サイエンティスト プロフェッショナルです。 現在は、コンテンツ作成に力を入れており、機械学習やデータ サイエンス テクノロジーに関するテクニカル ブログを執筆しています。 Abid は、技術管理の修士号と電気通信工学の学士号を取得しています。 彼のビジョンは、精神疾患に苦しむ学生のために、グラフ ニューラル ネットワークを使用して AI 製品を構築することです。

Leave a Comment

Your email address will not be published. Required fields are marked *