ゆるぶろ

未経験からエンジニアデビューした雑記ブログ!

【SQL入門】SELECT文の基本を例文付きで解説|WHERE・ORDER BY・DISTINCT編

こんにちは!

現在、ローコード開発の案件に参画しており、業務でSQLを使って調査する機会があります。

そこでSELECT文を読んでいると、「分かっているつもりだったけど、あれ!?意外と理解できてないかも…」と感じ、改めてSQLを勉強することにしました!

今回は、学習したSELECT文の基本〜WHERE・ORDER BY・DISTINCTまでを復習も兼ねてまとめてみました!

SELECT文とは

SELECT文は、データベースに保存されているデータを取得するためのSQL文です。

今回は例として、studentsテーブルを使ってSELECT文を書いてみます!
このあと、WHERE・ORDER BY・DISTINCTについても同じstudentsテーブルを使い、それぞれの書き方や意味を説明していきます。

SELECT文の基本的な書き方

下記に、SELECT文の基本的な書き方を書いています。

f:id:xurin:20260812191632p:image

SELECTのあとに取得したいカラム名、FROMのあとにデータを取得するテーブル名を書きます。

 

f:id:xurin:20260812190249p:image

このSQL文は、studentsテーブルにあるすべてのカラムのデータを取得するという意味です。

1行目:SELECT *
SELECTは、取得したいデータを指定するときに使います。
*(アスタリスク)は「すべてのカラム」という意味なので、すべてのカラムを取得するという意味になります。

2行目:FROM students;
FROMは、どのテーブルからデータを取得するのかを指定するときに使います。

WHEREの書き方

WHEREとは、条件を指定して取得するデータを絞り込むときに使います。

下記に、WHEREの基本的な書き方を書いています。

f:id:xurin:20260812194454p:image

f:id:xurin:20260812194629p:image

このSQL文は、studentsテーブルから「1年生」のデータだけを取得するという意味です。

1行目:SELECT *
*は「すべてのカラム」という意味です。
→ すべてのカラムを取得する

2行目:FROM students
データを取得するテーブルを指定します。
→ studentsテーブルから取得する

3行目:WHERE grade = 1;
取得するデータの条件を指定します。
gradeは学年、= 1は「1と等しい」という意味です。

ORDER BYの書き方

ORDER BYは、取得したデータを指定したカラムの順番に並び替えるときに使います。

下記に、基本的な書き方を書いています。

f:id:xurin:20260812195453p:image

f:id:xurin:20260812195706p:image

このSQL文は、studentsテーブルのデータを学年(grade)が小さい順に並び替えて取得するという意味です。

1行目:SELECT *
*は「すべてのカラム」という意味です。
→ すべてのカラムを取得する

2行目:FROM students
データを取得するテーブルを指定します。
→ studentsテーブルから取得する

3行目:ORDER BY grade;
ORDER BYは、指定したカラムを基準にデータを並び替えるときに使います。
今回はgradeを指定しているので、1年生 → 2年生 → 3年生のように学年が小さい順(昇順)に並びます。

DISTINCTの書き方

DISTINCTは、重複しているデータを除いて取得するときに使います。

下記に、基本的な書き方を書いています。

f:id:xurin:20260812200102p:image

DISTINCTを使う場合は、SELECTの後ろにDISTINCTを追加します。

通常のSELECT文との違いはDISTINCTが追加されているところです。

DISTINCTを追加することで指定したカラムの重複を除いてデータを取得できます。

f:id:xurin:20260812200600p:image

このSQL文は、studentsテーブルから、重複を除いたクラス名を取得するという意味です。

1行目:SELECT DISTINCT class_name
DISTINCTは、重複しているデータを除いて取得するときに使います。
今回はclass_nameを指定しているので、重複を除いたクラス名を取得します。

2行目:FROM students;
データを取得するテーブルを指定します。
→ studentsテーブルから取得する。

 

例えば、class_nameに『A・A・B・B・C』とデータが入っていた場合、取得結果は『A・B・C』となります。

 

さいごに

この記事が少しでも参考になったら、ChatGPTやGeminiなどの生成AIに練習問題を作ってもらって、実際にSQLを書いてみるのもおすすめです!

やっぱりSQLは、読むだけじゃなくて実際に手を動かすのが大事!

僕もまだまだ勉強中なので、どんどん手を動かして身につけていこうと思います。

 

 

ブログ始めました!『ゆるぶろ』の自己紹介

こんにちは。

最初の記事は、何を書こうかな〜と悩んだので、ChatGPTに「最初の記事は何を書いたらいい?」と聞いてみました。

すると、「このゆるぶろが、どんなブログなのか紹介する記事にしたら?」とのこと。

ということで、最初の記事では、ゆるぶろについて紹介していきます。

【ゆるぶろってどんなブログ】

20代男性の僕が、未経験からエンジニアデビューするまでの過程や、デビュー後に経験したことなどを中心に発信していく雑談ブログです。

また、エンジニアの話だけでなく、日常のことやその時に感じたことなども少し書いていく雑記ブログです。

更新は不定期で、書きたいと思った時に、自分のペースでゆるく続けていきます。

【このブログで書いていくこと】

  • エンジニアデビューするまでの過程や学び
  • エンジニアデビュー後の経験
  • エンジニア学習で身につけた知識や技術

未経験からエンジニアを目指している方や、エンジニアデビューしたばかりの方に向けて、自分自身の経験をもとに発信していきます。

デビューまでに学んだことや、実際にエンジニアとして働き始めてからの経験・学びなどが中心です。

また、これまで学習してきた知識や技術についても、自分なりにアウトプットできるブログにしていきます。

【最後】

これからは、エンジニアのことや日常のことなど、自分のペースでゆるく書いていきます。

これから『ゆるぶろ』をよろしくお願いします!