TechFulを利用してSQL(lite)を勉強してみた!

投稿日:2024-07-06

TechFulを利用してSQL(lite)を勉強してみた!

概要

学内の授業でSQLiteを触っているので忘備録としてSQLiteの基礎をまとめてみました。TechFULの難易度1~2のデータベース問題の解答を参考にしています。

順次更新していきます...

用語の説明

今回のサンプルでは生徒のテストの成績データを扱うことを想定して書いていきます

  • テーブル→データ全体のこと。-テーブル名"students"
  • カラム→縦の列のこと。-カラム名"id","name","score"
  • レコード→横の行のこと。-レコード"1","Tanaka","60"
  • フィールド→一つのエリアのこと。

エクセルのテーブルを想像してもらうと分かり易いと思います。

とりこれSQL

SELECT * FROM students;

SELECT *と指定する事でtableから行・列を全て出力します
全ての生徒データを表示

SELECT score+5 FROM students;

SELECT句の中に直接式を記載する事で計算結果を表示できます
全員のテスト結果に+5点

SELECT id FROM students WHERE score IS NULL;
SELECT id FROM students WHERE score IS NOT NULL;
SELECT name FROM students WHERE score > 50;

WHERE句を使うことで条件を絞ることができます。
また、IS NULLを使うことでNULLの値のみを、IS NOT NULLでNULLではない値を取得できたりします。

scoreの値がNullのidを取り出す
scoreの値がNullではない値を取り出す
scoreが50以上のnameを取り出す

SELECT name FROM students WHERE 50 > score AND score > 10;
SELECT name FROM students WHERE 50 > score OR score > 100;
SELECT name FROM students WHERE NOT score = 50

WHERE句の発展としてAND,OR,NOTを使うことも出来ます。

scoreが50より上でかつscoreが10より上のnameを取り出す。
scoreが50より下、もしくはscoreが100より上のnameを取り出す。
scoreが50ではないnameを取り出す。

SELECT
CASE
 WHEN score % 2 = 0 then "偶数"
 WHEN score % 2 = 1 then "奇数"
 ELSE "?"
END;

CASE句を使うと条件分岐が可能になります。

UPDATE table set a = 5;

UPDATE句を使うと値(a)を更新できます。

ALTER TABLE NUMBER ADD COLUMN c[INTEGER]

新しい行(c)を作成します。