Advertisement

SQL文について

iPride Co., Ltd.
Mar. 5, 2023
Advertisement

More Related Content

Advertisement

Recently uploaded(20)

SQL文について

  1. SQL文について 3月3日 頭文字K
  2. まえがき • 勉強期間 • 2日間 • 勉強したこと • SQL文を勉強しました。 • (SELECT , INSERT , UPDATE , DELETE)
  3. 仕様した教材 • SQL攻略 http://sql.main.jp/sql02.html • SQLab https://sqlab.net/works/
  4. おことわり • データベース自体のことや専門用語の解説は今回は行いません。 • これらは前提知識として進めさせていただきます。ご了承ください
  5. SQLについて • SQL(Structured Query Language) • データベースを操作するための言語
  6. このようなテーブルがあると想定 id name age e-mail 1 田中 21 tanaka@example.com 2 山田 25 yamada@example.com 3 斎藤 25 saitou@example.com 4 ゴンザレス NULL gonzaresu@example.com 【customers テーブル】
  7. SELECT文の基本構文 SELECT {列名,・・・} FROM {テーブル名}; データを取得するために使用する。 列名の代わりに*を使うこともできる。 (*はすべての列を取得する)
  8. 例題 SELECT name FROM customers; 例:customersのname列を取得する
  9. 実行結果 name 田中 山田 斎藤 ゴンザレス
  10. SELECT文のWHERE句 SELECT {列名,・・・} FROM {テーブル名} WHERE {条件}; 条件を指定してデータを取得するために使用されます。
  11. 例題 SELECT * FROM customers WHERE age>= 20 AND age <= 25; 例:customersのage列が20歳以上25歳以下の情報を取得する
  12. 実行結果 id name age e-mail 1 田中 21 tanaka@example.com 2 山田 25 yamada@example.com 3 斎藤 25 saitou@example.com
  13. 補足 ・BETWEEN句 指定された範囲内の値に一致する行を抽出するためのキーワード SELECT * FROM customers WHERE age BETWEEN 21 AND 25;
  14. 補足 ・IS [NOT] NULL句 NULL値を含む行を抽出するためのキーワード SELECT * FROM customers WHERE age IS NOT NULL;
  15. 補足 ・IN句 指定された複数の値のいずれかに一致する行を抽出するためのキーワード SELECT * FROM customers WHERE age IN(21,25); *BETWEEN句、IS NULL句、IN句の実行結果は例題のものと一緒です。
  16. SELECT文のORDER BY句 SELECT {列名,・・・ } FROM {テーブル名} WHERE {条件} ORDER BY {列名} {ソート順}; 結果を指定した列でソートするために使用されます。 ソート順を指定しない場合デフォルトで昇順になる。
  17. 例題 SELECT * FROM customers ORDER BY age DESC; 例:customersのageを降順(DESC)でソートする。
  18. 実行結果 id name age e-mail 2 山田 25 yamada@example.com 3 斎藤 25 saitou@example.com 1 田中 21 tanaka@example.com 4 ゴンザレス NULL gonzaresu@example.com NULLを最小値として扱う前提とする。
  19. SELECT文のGROUP BY句 テーブルのデータを一定の基準に従ってグループ化することができます。 SELECT {列名,・・・} FROM {テーブル名} [WHERE {条件}] GROUP BY {列名}; WHERE句を付けるとグループ化される前に条件を適用することができます。
  20. 例題 例:customersのage列でグループ化する。 SELECT age FROM customers GROUP BY age;
  21. 実行結果 age NULL 21 25
  22. 補足 ・集合関数 SQLで使用される関数の一種で、テーブルのデータから集計情報を 計算するために使用される SUM関数 指定された列の数値の合計を計算します。 COUNT関数 指定された列に含まれる行の数を数えます。引数を省略 すると、テーブルの全行数がカウントされます。 AVG関数 指定された列の数値の平均値を計算します。 MAX関数/MIN関数 指定された列の最大値を返します。 指定された列の最小値を返します。
  23. 補足 SELECT age,COUNT(*) FROM customers GROUP BY age; 主に、SQLのSELECT文で使用する。 ()の中には列名などをいれる。
  24. 補足 ・HAVING句 GROUP BY句でグループ化されたデータに対して、特定の条件を満たす グループだけを選択するために使用される条件式 SELECT age,COUNT(*) FROM customers GROUP BY age HAVING COUNT(*) >1;
  25. INSERT文の基本構文 新しいデータを挿入するために使用されます。 INSERT INTO {テーブル名} ({列名1,列名2・・・}) VALUES ({値1,値2,・・・});
  26. 補足 列名を飛ばして記述することもできる。 INSERT INTO {テーブル名} ({列名1,列名3・・・}) VALUES ({値1,値3,・・・}); この場合、列名2に値は挿入されない (列の数と値の数が一致していないとエラーが出る)
  27. 例題 例:customersに新しい行を追加する INSERT INTO customers (id,name, age, email) VALUES (5,'村上',30,'murakami@example.com');
  28. 実行結果 id name age e-mail 1 田中 21 tanaka@example.com 2 山田 25 yamada@example.com 3 斎藤 25 saitou@example.com 4 ゴンザレス NULL gonzaresu@example.com 5 村上 30 murakami@example.com
  29. UPDATE文の基本構文 テーブル内の既存の行の値を変更するために使用されます。 UPDATE {テーブル名} SET {列名} = {値}[,{列名} = {値}] [WHERE {条件}]; WHERE句がない場合は列のすべての値が変更されます。
  30. 例題 例:customersのidが4のname列を更新する UPDATE customers SET name = '小林' WHERE id = 4;
  31. 実行結果 id name age e-mail 1 田中 21 tanaka@example.com 2 山田 25 yamada@example.com 3 斎藤 25 saitou@example.com 4 小林 NULL gonzaresu@example.com
  32. DELETE文の基本構文 テーブルから1つ以上の行を削除するために使用されます。 DELETE FROM {テーブル名} [WHERE {条件}]; WHERE句がない場合はすべての行が削除されます。
  33. 例題 例:customersのidが1の行を削除する DELETE FROM customers WHERE id = 1;
  34. 実行結果 id name age e-mail 2 山田 25 yamada@example.com 3 斎藤 25 saitou@example.com 4 ゴンザレス NULL gonzaresu@example.com
  35. 最後に • データベースシステムでNULLの扱いが変わるのが難しかった。 • COUNT関数の引数に列名を入れた場合と*を入れたときの違いが 難しかった。 • まだ勉強できてない範囲があるので、そちらも勉強していきたい。
Advertisement