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?

SQL - 備忘録 -

0
Posted at

久々のSQLの備忘録

✅ はじめに

久々にSQLを触りまして、授業等で勉強していた知識が抜けていたので、備忘録としてSELECTGROUP BYWITH の役割をまとめてみようと思います。
「お菓子のアンケート」を例に考え、整理してみようと思います。

この記事では、SQLの基本構文をアンケート結果を使って直感的に説明します。
「なぜ使うのか?」「どういう時に便利なのか?」が腑に落ちることを目指します。


✅ 想定するテーブル(例:お菓子アンケート)

student_name gender favorite_sweet votes
Alice female chocolate 2
Bob male gummy 1
Carol female chocolate 1
Dave male chips 1
Emily female gummy 1

✅ SELECT:欲しい情報を選ぶ

✔ 役割

テーブルから欲しい列だけを抜き出す命令

✔ 例:名前と好きなお菓子だけ知りたい

SELECT student_name, favorite_sweet
FROM students_sweets;

✅ GROUP BY:同じ種類をまとめて集計する

✔ 役割

共通の値を持つ行をグループにして、集計関数(SUM, COUNTなど)を適用する

✔ 例:お菓子の種類ごとに票数を合計したい!

SELECT favorite_sweet, SUM(votes) AS total_votes
FROM students_sweets
GROUP BY favorite_sweet;

✔ 結果

favorite_sweet total_votes
chocolate 3
gummy 2
chips 1

✅ WITH:仮のテーブルを作ってスッキリ整理!

✔ 役割

複雑なSELECTやJOINを一度まとめて、再利用しやすくするための構文

✔ 例:女子だけの集計をしたい時に便利!

WITH female_votes AS (
  SELECT *
  FROM students_sweets
  WHERE gender = 'female'
)
SELECT favorite_sweet, SUM(votes) AS total_votes
FROM female_votes
GROUP BY favorite_sweet;

✔ 結果

favorite_sweet total_votes
chocolate 3
gummy 1

✅ まとめ

構文 役割 イメージ
SELECT 欲しい情報を選ぶ 「どの列を見たいか?」
GROUP BY 同じグループにまとめる 「種類ごとに箱に分けて集計」
WITH 仮の表を作って整理する 「中間テーブル(下ごしらえ)」

✅ おわりに

SQLは慣れるまで文法がややこしく見えますが、身近な例で考えると理解が進みます。
この記事が、久々にSQLを触る方や初学者の方の助けになれば幸いです。

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?