0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQLのかんたんな使い方

Last updated at Posted at 2023-01-22

SQLとは

  • データベース上の操作を行うのが目的な「データベース言語」
    • 例えば生徒名簿(データベース)から特定の生徒を抽出したり、生徒を増やしたりできる
  • 基本の抽出方法は5種類
    • SELECT
    • WHERE(AS,ORDER BY,GROUP BY)
    • INSERT
    • UPDATE
    • DELETE
  • データベース同士を結合してデータを取り出せたりもする
    • INNER JOIN
    • LEFT OUTER JOIN(RIGHT OUTER JOIN)

SELECT

  • 列(表の縦列)から抽出する
  • SELECT 列名 FROM テーブル名
  • 列名は複数選択できる。その際は「,」で区切る
  • SELECT 名前 FROM 生徒名簿;

WHERE

  • SELECTからさらに条件を付けて絞り込みができる
  • WHERE 列名 条件式 値
  • SELECT * FROM 生徒名簿 WHERE 生徒No <= 13;
  • 様々な演算子が使える
    • AND → 左辺かつ右辺
    • OR → 左辺または右辺
    • BETWEEN a AND b → a以上b以下
    • IN → いずれかを含む
    • LIKE → 文字列の一部を含む
    • IS NULL → NULL値のフィールド
    • IS NOT NULL → 値のあるフィールド

AS

  • 列に別の名前を付けて抽出できる
  • SELECT 商品名,税抜き価格*1.10 AS 税込み価格 FROM 商品;

ORDER BY

  • 抽出結果を並び替えられる
  • 「ASC」が昇順(1...10)、「DESC」が降順(10...1)
  • SELECT * FROM 生徒名簿 ORDER BY ASC;

GROUP BY

  • データをグループ化(一括に)できる
    • 日付が10/1に集金した学費の合計を出したいなど(日付をグループ化している)
  • SELECT SUM(学費),日付 FROM 学費の集金 GROUP BY 日付;

INSERT

  • データを追加できる
  • 1行だけでなく複数行も可
  • INSERT INTO テーブル名(列名A,列名B,…) VALUE(値A,値B,…);

UPDATE

  • 既存のデータを更新できる
  • UPDATE テーブル名 SET 更新内容
  • UPDATE 生徒名簿 SET 年齢 = 10 WHERE 生徒名='佐藤’;

DELETE

  • データを削除できる
  • 複数、全てのデータの削除が可
  • リスクが高く注意が必要
  • DELETE FROM テーブル名; でテーブル自体を削除
  • DELETE FROM 生徒名簿 WHERE 出席番号 = NULL;

INNER JOIN

  • 内部結合できる
  • 内部結合は、それぞれのテーブルの指定した列の値が一致するものだけを結合すること
  • 内部結合は、ベースとなるテーブルから、条件にマッチするレコードがないものは削除される
  • SELECT 列名1, 列名2, ... FROM テーブル名1 INNER JOIN テーブル名2 ON 結合の条件;
  • SELECT * FROM students INNER JOIN parents ON students.parent_id = parent.id;

LEFT OUTER JOIN(RIGHT OUTER JOIN)

  • 外部結合できる
  • 内部結合のようにそれぞれのテーブルの指定したカラムの値が一致するものを結合するのに加え、どちらかのテーブルにしか存在しないものに関しても取得する
  • LEFT OUTER JOINは左側のテーブルを軸にする、RIGHT OUTER JOINは右側のテーブルを軸にする
  • SELECT 列名1, 列名2, ...,FROM テーブル名1 LEFT(RIGHT) OUTER JOIN テーブル名2 ON 結合の条件;
  • SELECT * FROM students LEFT OUTER JOIN parents ON students.parent_id = parent.id;
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?