はじめてのSQL:SLECT文の基本形

データサイエンス

はじめてのSQL:SELECT文の基本形


この記事では、 最も使う SQL である SELECT 文を解説します。 SELECT 文が使えるようになることで、 データベースを操作してデータを取得することができるようになります。

1 SELECT文の基本形

SELECT 文の基本について説明します。

書式/コード

最もシンプルな SELECT 文は、下記の書式になります。

SELECT
    列名
FROM
    テーブル名

SELECTはデータを取得するための SQL です。 SELECT の後に取得したいデータの列の名前、 FROM の後にテーブルの名前を指定します。

また SQL はこのような1行で書くこともできます。 複数行であっても1行であっても、 SQL の実行結果は全く同じです。 以降は分かりやすさを優先して、複数行にした形で SQLを紹介します。

ここで SQL の構造の呼び方について説明します。 SQL はデータベースとやり取りするためのコンピューター言語ですが、やり取りする際の一連のまとまりを文と呼びます。 SELECT の場合は SELECT文と呼びます。 またSELECTやFROMといったキーワードごとのまとまりは、句と呼ばれます 。

この図のように SELECT 文の中に SELECT 句やFROM句があるイメージになります。

今回は下記のテーブルを利用します。

purchase

purchase_date name quantity
2021/5/18 マスク 20
2021/5/18 石けん 2
2021/5/18 アルコール液 2
2021/5/19 除菌スプレー 10
2021/5/20 使い捨て手袋 10
2021/5/21 ガーゼ 2

2 SELECTとFROM

SELECT とFROM の説明をします。 最も基本的なSQLですが、最も使うキーワードですのでしっかり確認していきましょう。

テーブルにデータを追加する SQL の書式はこのようになります。

SELECT
   列名
FROM
   テーブル名

SELECT の後に取得したいデータの列名 FROM の後にテーブル名を指定します。

下記のSQLを実行してみます。

SELECT
 *
FROM
 purchase
  • FROMの後にテーブル名、purchaseを指定します
  • 別名では*(アスタリスク)が指定されています
  • これにより全ての列名を指定する、ということになります

結果は下記になります。

purchase_date name quantity
2021/5/18 マスク 20
2021/5/18 石けん 2
2021/5/18 アルコール液 2
2021/5/19 除菌スプレー 10
2021/5/20 使い捨て手袋 10
2021/5/21 ガーゼ 2

では別名を絞ってみましょう。

SELECT
  name
FROM
  purchase
  • SELECT 句の中の*をnameに変えています

結果は下記になります。

name
マスク
石けん
アルコール液
除菌スプレー
使い捨て手袋
ガーゼ

nameの列のみが表示される形になりました。

ポイント

SELECT句の中で別名を指定するとその列にのみになるということです。 全ての列名を指定する場合は*を使うことができます。

3 WHERE

WHEREの使い方を解説します。

WHEREを使うことで様々な条件を指定してデータを絞り込むことができます 。

書式/コード

WHERE の書式はこのようになります。

SELECT
    列名
FROM
    テーブル名
WHERE
    条件式

WHERE の後に条件を指定します 。 条件は等号や不等号などを使った、式の形になります。

下記のSQLを実行してみます。

SELECT
    列名
FROM
    テーブル名
WHERE
    quantity > 5

結果は下記になります。

purchase_date name quantity
2021/5/18 マスク 20
2021/5/19 除菌スプレー 10
2021/5/20 使い捨て手袋 10
  • WHEREの後にquantityつまり数量が5よりも大きいという条件になっています
  • この条件でデータが絞り込まれることになります

ポイント

WHEREの中で条件式を指定することです。 条件に合うデータのみに、行が絞られたテーブルが得られるということになります。

4 ORDER BY

このレクチャーでは ORDER BY の使い方を解説します。 ORDER BY を使うことでデータの並べ替えをすることができます。

書式/コード

ORDER BY の書式はこのようになります。

SELECT
   列名
FROM
   テーブル名
ORDER BY
   列名

ORDER BY 句の中で、並び替えを行いたい列を指定します。

下記のSQLを実行してみます。

SELECT
 *
FROM
 purchase
ORDER BY
 quantity

結果は下記になります。

purchase_date name quantity
2021/5/18 石けん 2
2021/5/18 アルコール液 2
2021/5/21 ガーゼ 2
2021/5/19 除菌スプレー 10
2021/5/20 使い捨て手袋 10
2021/5/18 マスク 20
  • ORDER BY 句の中で、列としてquantityを指定しています ですのでquantityの値の順番で並び替えが行われます
  • デフォルトでは小さい順つまり昇順に並びます

大きい順つまり降順にならべるには、

SELECT
  *
FROM
  purchase
ORDER BY
  quantity DESC
  • DESCというキーワードを用います

5 LIMIT

LIMITの使い方を解説します。 LIMITを使うことで、結果として受け取るテーブルの行数を制限することができます。

書式/コード

LIMITの書式は下記になります。

SELECT
    列名
FROM
    テーブル名
LIMIT
    数値

LIMIT句の中で、行数制限したい数値を指定します。

下記のSQLを実行してみます。

SELECT
  *
FROM
  purchase
LIMIT
  3

結果は下記になります。

purchase_date name quantity
2021/5/18 マスク 20
2021/5/18 石けん 2
2021/5/18 アルコール液 2
  • LIMIT句の中で3という数字を指定しています

ここまで LIMIT 句を見てみましたが例えば ORDER BY 句のように他の句と組み合わせることができます。 ORDER BY 句と組み合わせると、例えば数量が大きい順のトップ3などを結果として取得することができます。 では SQL を書き直して ORDER BY を追加してみましょう。 quantityを指定して、大きい順なのでDESCキーワードを指定します。

SELECT
  *
FROM
  purchase
ORDER BY
  quantity DESC
LIMIT
  3  

結果は下記になります。

purchase_date name quantity
2021/5/18 マスク 20
2021/5/19 除菌スプレー 10
2021/5/20 使い捨て手袋 10
  • quantityの値の大きい順番で並び替えられて、かつ3行に絞られます

ポイント

SQL のキーワードを組み合わせるて使うという点です。 SQL ではあらゆるキーワードを組み合わせて使うことができますので、必要に応じて組み合わせて使いましょう。

タイトルとURLをコピーしました