部員表から、探したい
部活の部員表が、パソコンにあります。8人分です。
「2年生だけ、見たい」「バスケ部で、背の高い人を知りたい」と思ったら、どうしますか。
目で探すのは、人数が増えると大変です。コンピュータに、お願いする言葉があります。それが、SQLです。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| データベース | データを、整理して保存しておく仕組みです。 | 部員表を入れた入れ物 |
| テーブル | データベースの中の、一つの表です。 | members |
| SQL | データベースに、お願いをするための言葉です。 | SELECT * FROM members; |
| SELECT | 取り出したい列を選ぶ言葉です。 | SELECT name |
| FROM | どのテーブルから取り出すかを決める言葉です。 | FROM members |
| WHERE | 条件に合う行だけを選ぶ言葉です。 | WHERE grade = 2 |
学生が入力するセルは、このプレビューでは空白です。
データベースとテーブル
データベースは、データをまとめて保存する仕組みです。
その中の表が、テーブルです。部員表は、members という名前のテーブルです。
テーブルの列は、id、name、grade、club、height です。名前、学年、部活、身長を表します。
テーブル名と列名は、英語で書きます。値は、日本語のままです。
やってみよう: 全部を取り出す
-- 表のすべての列と行を取り出します。* は「全部」という意味です。
SELECT * FROM members;
SELECT と FROM
SQLの基本の形は、次のとおりです。
SELECT 列 FROM テーブル;
「このテーブルから、この列を取り出して」という意味です。最後の ; は、文の終わりです。
SQLのキーワードは、大文字で書く決まりが多いです。小文字でも動きます。
やってみよう: 列を選ぶ
-- 取り出す列を選びます。列は、カンマで区切ります。
SELECT name, height FROM members;
-- 列の順番を変えることもできます。
SELECT height, name FROM members;
WHERE で行をしぼる
全部の行は、いらないときがあります。そのときは、WHEREを足します。
SELECT 列 FROM テーブル WHERE 条件;
条件に合う行だけが、取り出されます。
等しいことは、= を1つだけ使います。Pythonの == とは、ちがいます。
やってみよう: 条件で選ぶ
-- 条件に合う行だけを取り出します。
SELECT name, grade FROM members WHERE grade = 2;
-- 文字は、シングルクォート(')で囲みます。
SELECT name, club FROM members WHERE club = 'バスケ部';
例: WHERE の結果
| 書き方 | 取り出される行 | 行の数 |
|---|---|---|
| WHERE grade = 2 | ゆうた、そうた、りく | 3 |
| WHERE club = 'バスケ部' | さくら、みお、そうた、ひなた | 4 |
| WHERE height >= 170 | ゆうた、そうた | 2 |
学生が入力するセルは、このプレビューでは空白です。
小さな確認: 取り出される行
やってみよう
小さな確認: 取り出される行
3問挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存
答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。