本記事では、海外のSQL学習サイト【SQL Bolt】を利用して、データベース初心者向けにSQLの基本を解説します。
初回は「SQL Lesson 1: Filtering and sorting Query results」、SELECT句の使い方についてです。
筆者自身の勉強も兼ねて、各レッスンについて以下の内容を記事にしていきす。
- 元サイトの解説部分の要点まとめ(日本語訳)
- 演習問題の和訳・解答
ざっくり和訳
テーブル・行・列とは?
As we mentioned in the introduction, you can think of a table in SQL as a type of an entity (ie. Dogs), and each row in that table as a specific instance of that type (ie. A pug, a beagle, a different colored pug, etc). This means that the columns would then represent the common properties shared by all instances of that entity (ie. Color of fur, length of tail, etc).
https://sqlbolt.com/lesson/select_queries_introduction
サイトのこの部分を直訳すると以下のようになります。
- SQLのテーブル:エンティティの型(たとえば犬)
- テーブルの各行:その型の特定のインスタンス(たとえばパグ、ビーグル、色違いのパグなど)
- テーブルの各列:その実体のすべてのインスタンスに共通する特性(毛色、尾の長さなど)
文字だけだとわかりづらいので、犬の例を使って実際にテーブルを作りました。
種類 | 毛色 | しっぽの長さ |
---|---|---|
パグ | 白 | 15cm |
ビーグル | 茶色 | 10cm |
「犬」という名前の表があって、犬の種類ごとに毛色としっぽの長さがまとめられています。
この表のことをテーブルといい、「毛色」「しっぽの長さ」という列が犬の特性、「パグ、白、長い」「ビーグル、茶色、短い」という各行が犬の実体です。
SELECT句の使い方
SQLデータベースからデータを取り出すためには、SELECT句を使います。
だいたいのSQL文はSELECTから始まります
今回は、SELECT句を使ってテーブルから特定の列を取り出すSQL文を書いていきましょう。
SELECTの後ろに、取り出したい列の名前を、FROMの後ろに操作するテーブルの名前を指定します。
SELECT 列名1, 列名2, … FROM テーブル名;
テーブルからすべての列のデータを取り出したい場合、SELECTの後ろにすべての列名を書く代わりに、アスタリスク 「*」 を使うことができます。
SELECT * FROM テーブル名;
SQL Boltの英語文によく登場する「クエリ(query/queries)」という単語について。
queryは「質問」という意味の英単語です。SQL・データベースの世界でいうクエリは、データベースに対してデータの検索や並び替えといった何らかの処理を求める命令文のことを言います。
演習問題の和訳・解答
- 1. Find the
title
of each film -
和訳:各映画のtitleを探してください。
SELECT title from movies;
- 2. Find the
director
of each film -
和訳:各映画のdirectorを探してください。
SELECT director from movies;
- 3.Find the
title
anddirector
of each film -
和訳:各映画のtitleとdirectorを探してください。
SELECT title,director from movies;
- 4.Find the
title
and -
和訳:各映画のtitleとyearを探してください。
SELECT title,year from movies;
- 5.Find
all
the information about each film -
和訳:各映画のすべての情報を探してください。
SELECT * from movies;
コメント