( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

【SQL】SELECT文|自由自在にデータを抽出する方法

SELECT文とは?

SELECT(セレクト)

選ぶ、(…を)(最適なものとして慎重に)選ぶ、(…を)選び出す、(…を)選抜する、(…を)選出する

Weblio英和辞書

SELECTには「選ぶ」「選出する」という意味があり、

意味通りSELECT部分には「抽出したい項目(欲しい情報)」を記載します

そしてデータを抽出するSQLでは「SELECT」から書き始める必要があるので

構文の始まりのきっかけ」としても機能します

今回はこのSELECT文で「自由自在にデータ抽出をする方法」をご紹介します

SELECT文の使い方

SELECT 【抽出したい列名】

SELECTの後に抽出したい項目を記載します

抽出したい項目によって記載方法やテクニックが異なるので

それぞれご紹介していきます!

特定の列を抽出する方法

特定の列を抽出したい場合は、そのまま「抽出したい列名」を記載します

お題

ユーザー名を抽出する」場合のSQLを記述します

SELECT
    ユーザー名
SQLデータベース抽出の例

複数の列を抽出する方法

また「複数の項目」を抽出したい場合は、(,)カンマ区切りで記載していきます

お題

ユーザー名・商品名・購買日」を抽出するSQLを記述します

SELECT
    ユーザー名, 商品名, 購買日
SQLデータベース抽出の例

すべてのデータを抽出する方法

全データを抽出したい場合は、(*)アスタリスクを記載します

※すべてのカラム名を記載しても同様の結果になります

お題

すべてのデータ」を抽出するSQLを記述します

SELECT
    *
SQLデータベース抽出の例

重複を排除してデータを抽出する方法

SELECT文にカラム名だけを記入した場合、同じ項目があっても全て抽出されます

そこで重複を排除したい場合は「DISTINCT」と言うワードをカラム前に沿えましょう

DISTINCT(ディスティンクト)

他とまったく別な、別個の、性質が異なって、はっきりした、明瞭な、明確な、紛れもない

Weblio英和辞書

DISTINCTとは「個別の」という意味があり、SELECTでよく利用します

お題

商品名を重複なく」抽出するSQLを記述します

SELECT
    DISTINCT 商品名
SQLデータベース抽出の例
MEMO

同じ項目は出ないように重複を排除することを「ユニーク」にすると言います

日本語では「独特な人」という意味ですが、SQLでは「他と被らない=重複がない」という意味で使うので覚えておきましょう

抽出したカラムに別名を付ける

SELECT文でデータを抽出した後に、そのデータにもカラム名を付けることができます

指定したカラムの後ろに「AS」を付けてあげましょう

AS(アズ)

(…と)同じ程度に、同様に、同じくらい

(…)として

Weblio英和辞書

前置詞としてのASは「~として」という意味を持ち、SQLでも同じように名前を付ける意味として使います

お題

ユーザー名を抽出し、購買者名とカラム名を付ける」抽出するSQLを記述します

SELECT
    ユーザー名 AS 購買者名
SQLデータベース抽出の例

SELECT文での集約関数の使い方

集約関数とはSUMやCOUNTと言った計算を実施する関数です

また「集約」の名前の通り、「まとめて計算」をします

なので抽出される項目はバラバラではなく、結果の1つのみです

「項目だけ抽出する場合」と「集約関数を使う場合」を比較しましょう

お題

会計データ」抽出するSQLを記述します

SELECT
    会計
SQLデータベース抽出の例
お題

会計を足し合わせた合計金額」抽出するSQLを記述します

SELECT
    SUM(会計)
SQLデータベース抽出の例

よく使う集約関数

関数概要
SUM(列名)合計
AVG(列名)平均
COUNT(列名)件数
MAX(列名)最大値
MIN(列名)最小値
MEMO

COUNT(列名)COUNT(DISTINCT 列名)では意味が大きく異なります

列名だけでは重複を加味せず個数を数えるのに対し、

DISTINCT を入れることで重複を排除して個数を数えます

SQLで四則演算もできる

実はSQLのSELECT文で「足し算・引き算・掛け算・割り算」の四則演算もすることができます

データ抽出だけではないんですね

SELECT
    1+1

= 2

SELECT
    1+2+3+4+5+6+7+8+9+10

= 55

SELECT
    5*5 (掛け算は×ではなく*)

= 25

単なる計算だけは電卓やExcelで十分です

せっかくSQLで使うならデータ抽出と合わせて利用しましょう

SELECT文でカラム名に四則演算を付け加えることで、

抽出するデータに計算式を入れることができます

お題

商品購買のテーブルから「会計」の項目を全て抽出する

その際に消費税として+10%を付けて抽出する

SQLデータベース抽出の例
SELECT
    会計*1.1
FROM
    商品購買データベース
;
SQLデータベース抽出の例

まとめ

今回はSQLのSELECT文についてご紹介してきました

データ抽出のSQLでは「SELECT」は必須の構文なのでしっかり覚えてくださいね

コメントを残す

メールアドレスが公開されることはありません。