超入門! SELECTとFROM、DISTINCTでデータを操る最初の一歩

PR表記

※アフィリエイト広告を利用しています

どうもニコイチです。「データベース」って聞くとなんだか難しそうに感じるかもしれませんが、じつは私たちが普段使っているSNSやネットショップも、その裏側ではデータベースが大活躍しています。もし、そのデータベースから必要な情報をサッと取り出せたらどうでしょう? たとえば「こんな本が欲しいな」「あの映画のデータはどうなっているんだろう」と思ったときに、すぐに答えを手に入れられたらとても便利ですよね。そんな夢のような操作を実現してくれるのがSQLです。この記事では、SQLの基本である「SELECT」「FROM」「DISTINCT」を、初心者の方でもわかるようにやさしく解説していきます。ぜひ一緒に、データの世界をのぞいてみましょう!具体例としては、booksテーブル(書籍の情報を持つテーブル)を使って説明します。

目次

SELECT句とFROM句の基本

● SELECT句とは?

  • SELECT句は、データベースから欲しい「列(カラム)」を指定して取り出すための命令です。
  • 書き方は、次のようになります。 SELECT 列名 FROM テーブル名;
  • 例:SELECT Name FROM books;
    上記の例では、booksテーブルから「Name」という列だけを取り出して表示します。

● FROM句とは?

  • FROM句は、データを取り出す元となるテーブル(またはビュー)を指定する命令です。
  • 上記の例でいうと、FROM books がそれにあたります。

● すべての列を取り出す(SELECT *

  • テーブルの全ての列を取り出したい場合は、列名の代わりに *(アスタリスク)を使います。 SELECT * FROM books;
  • * は「そのテーブルにあるすべての列」を意味します。

単一カラムの取得

● 特定の列だけを取得

  • 必要な列が1つだけのときは、次のように書きます。 SELECT 列名 FROM テーブル名;
  • 例:booksテーブルの「書籍名」だけを取得したい場合 SELECT Name FROM books;
  • このようにすると、Name列(書籍の名前)だけが一覧で表示されます。

3. 複数カラムの取得

● 取り出したい列が複数ある場合

  • コンマで区切って列名を書きます。 SELECT 列名1, 列名2, 列名3 FROM テーブル名;
  • 例:booksテーブルから「Name(書籍名)」「Price(価格)」「Year(発行年)」をまとめて取り出す SELECT Name, Price, Year FROM books;
  • このように複数列の指定をすると、指定した列の組み合わせで結果が表示されます。

DISTINCTで重複をなくす

● DISTINCT句とは?

  • ある列の中に、同じ値が重複して入っていることがあります。DISTINCTを使うと、そういった重複した値をまとめて1つとして取り出すことができます。
  • 書き方は、次のとおりです。 SELECT DISTINCT 列名 FROM テーブル名;
  • 例:booksテーブルの「Genre(ジャンル)」の一覧を、重複なく取得したい場合 SELECT DISTINCT Genre FROM books;
  • これで、同じジャンル名が何回出てきても1回ずつしか表示されなくなります。

実際の書き方のまとめ

下表にサンプルクエリをまとめておきます。どのように書き分ければ良いか、必要に応じて確認してみてください。

やりたいことサンプルクエリ説明
すべての列を取得したいSELECT * FROM books;全列を一度に確認したいとき
特定の1列だけを取得したいSELECT Name FROM books;書籍名だけを見たいなど、1つだけの列が必要なとき
複数列を取得したいSELECT Name, Price, Year FROM books;書籍名、価格、発行年など、複数の列が必要なとき
重複を取り除いた値だけを取得SELECT DISTINCT Genre FROM books;ジャンルなど、重複を除いてユニークな値だけを抽出したいとき

ちょっとしたポイント

  1. 列の順番に気をつける
    • SELECT 列名1, 列名2 のようにした場合は、出力される列の順番も指定した順になります。必要に応じて並びを変えましょう。
  2. 必要最小限の列を取得する
    • SELECT * を使うと簡単ですが、テーブルが大きくなると不要な情報まで持ってきてしまうので、複数の列を指定して必要な情報だけを取り出すのが望ましいです。
    • たとえば、大量データを扱う企業のシステムなどでは、パフォーマンス上の理由から「本当に必要な列だけ指定して取得する」ことがよくあります。
  3. DISTINCTの注意点
    • DISTINCT は「指定した列が全て同じものをまとめて1つにする」という動きです。
    • もし複数列を同時にDISTINCTしたい場合は、複数列すべての組み合わせが同じ行だけがまとめられます。列が多いと重複が減りにくいこともあります。

参考データ

Stack Overflowが毎年行っている開発者調査(Stack Overflow Developer Survey)によると、多くのエンジニアが日常的にSQLを使用していると回答しています。SQLはデータ分析やウェブアプリなどさまざまな分野で使われているため、最初に理解しておくと今後とても役立ちます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次