2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【0から始めるDB入門 Part1】SQL初級編 SELECT文

Posted at

はじめに

SQLabさんの問題を解いていきながら、ステップバイステップでSQLについて学んでいこうと思います。

初級編

SELECT文

今回はSQLの基礎中の基礎であるSELECT文について学びます!

基本形

SELECT <出力要素> FROM <テーブル名>;

問題1

書籍一覧を取得してください。

解答・解説
SELECT * FROM books;

解説

SELECT *は、テーブル内のすべての列を選択することを意味します。FROM booksで、データを取得するテーブルを指定しています。このクエリを実行すると、booksテーブル内のすべての行とすべての列が取得され、書籍の完全な一覧が表示されます。

ポイント

  • すべての列を取得したいときは、SELECTの後に*(アスタリスク)を使います。
  • データを取得するテーブルを指定するには、FROMの後にテーブル名を書きます。

問題2

書籍名一覧を取得してください。

出力項目はname(書籍名)です。

解答・解説
SELECT name FROM books;

解説

特定の列だけを取得したい場合、SELECTの後にその列名を指定します。このクエリでは、booksテーブルからname列のみを選択しています。これにより、書籍名だけの一覧が取得できます。

ポイント

  • 必要な列だけを取得する場合は、SELECTの後にその列名を指定します。
  • データ量を減らし、効率的に情報を取得できます。

問題3

書籍名と発行年一覧を取得してください。

出力項目はname(書籍名)とrelease_year(発行年)です。

解答・解説
SELECT name, release_year FROM books;

解説

複数の列を取得する場合、SELECTの後にカンマで区切って列名を列挙します。このクエリでは、booksテーブルからnamerelease_yearの2つの列を選択しています。これにより、各書籍の名前とその発行年の一覧を取得できます。

ポイント

  • 複数の列を取得する際は、列名をカンマ(,)で区切って指定します。
  • 複数の情報を同時に取得することで、データの関連性を把握できます。

問題4

書籍の発行年一覧を重複行を削除して取得してください。

出力項目はrelease_year(発行年)です。

解答・解説
SELECT DISTINCT release_year FROM books;

解説

DISTINCTキーワードを使用すると、選択した列の中で重複する行を排除し、一意の値のみを取得できます。このクエリでは、booksテーブルからrelease_year列の値を取得しますが、重複する発行年は1つにまとめられます。これにより、発行年の種類を一度ずつ一覧できます。

ポイント

  • 重複を排除して一意の値だけを取得したいときは、SELECTの後にDISTINCTを入れます。
  • データ内のユニークな値を知りたい場合に便利です。

問題5

書籍名と総ページ数の一覧を取得してください。

出力項目は書籍名(name)と総ページ数(total_page)です。

AS句を使用して表示するカラム名を変更してください。

解答・解説
SELECT name AS "書籍名", total_page AS "総ページ数"
FROM books;

解説

ASを使うと、列に別名(エイリアス)を付けることができます。これにより、出力結果の列名をより分かりやすい名前に変更できます。このクエリでは、name列を「書籍名」、total_page列を「総ページ数」として表示します。ユーザーにとって理解しやすい出力結果になります。

ポイント

  • 出力する列の別名を指定したいときは、列名の後にASを使って新しい名前を指定します。
  • 別名はダブルクォーテーション "" で囲むことで、スペースや日本語を含む名前を使用できます。

さいごに

今回は基本的なSELECT文の使い方を学びました。SELECT文はSQLの中でも最も基本的で重要な文ですので、しっかりと理解しておきましょう。

まとめ

  • SELECT *:すべての列を取得
  • SELECT 列名:特定の列を取得
  • カンマ区切りで複数の列を指定SELECT 列1, 列2
  • DISTINCT:重複を排除して一意の値を取得
  • AS:出力時の列名を変更

次回予告

次回はWHERE句を使ったデータの絞り込みについて学んでいきます。お楽しみに!

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?