SQL講座【入門編】:データ取得(SELECT)

SQL講座【入門編】:データ取得(SELECT)

1月 28, 2025

アバター画像

記事の監修

S.Sato

記事の監修


S.Sato

マネジメント&イノベーション事業部 開発部/2グループ グループマネージャー
資格:Microsoft Office Specialist Master 2007、ITパスポートなど

2022年よりMicrosoft365とPowerPlatformの案件を担当。
それ以前は業務・Web系システムを要件定義からリリースまでの開発に従事。
IT業界歴15年の経験を活かし、PJを牽引し後続の育成にも力を注ぐ。
趣味は散歩で、思考が煮詰まった際には、近所の緑道を散歩し、新たな発見や自然からのインスピレーションを受けている。

無料ご相談受付中 まずはお気軽にご相談ください

こんなお悩みはございませんか?
SQLで簡単にデータを抽出する方法がわからない
条件に基づいてデータをフィルタリングして、必要な情報だけを表示したい
そもそもSQLの使い方が分からない
簡単に解決できます!

SQLでは、SELECT文を使って簡単にデータベースからデータを抽出できます。
例えば、特定の条件を満たすデータをフィルタリングして、関連する情報を一度に取得することができます。
SELECT文では、条件を追加したり、複数のテーブルを結合したりすることも簡単にできます。
では、SQLのSELECT文の基本的な使い方や、複雑な条件でのデータ抽出方法を具体的にご紹介していきますね。

オープン系言語の開発に携わる場合、データ操作にはSQLを利用することが多いのが現状です。 

SQLを勉強しはじめた方に向けたSQL入門編を書いていこうと思います。 
始めの1歩だと思って簡単なことだけ書いていきます。 

1.SELECT文の構成

1-1. SELECT文とは?

SELECT文はデータベースからデータを取得する構文です。 
SELECT文の構成は以下のようになっています。  

(入力)
SELECT * (Enterボタン)
FROM users (Enterボタン)
WHERE age > 20; (Enterボタン)

このSELECT文はusersテーブルからage20を超えるレコードのすべてのカラムを取得するといったものです。SQL文中に登場するSELECTやFROM、WEHEREなどは予約語と言います。

一般的には大文字で記載することが多いですが、大文字(SELECT)、小文字(select)、大文字小文字混在(Select)の書き方すべて問題なく動きます。

ルールが混在した書き方は可読性が下がるため統一するようにしてください。 

1-2. 複雑なSELECT文

もう少し複雑なSELECT文を見てみましょう。 

(入力)
SELECT name, COUNT(*) (Enterボタン)
FROM users (Enterボタン)
WHERE age > 20 (Enterボタン)
GROUP BY name (Enterボタン)
HAVING COUNT(*) > 1 (Enterボタン)
ORDER BY name; (Enterボタン)

このSELECT文は以下の順番で読んでみてみるとわかりやすくなります。 

1. **FROM** – データソースを指定 
2. **WHERE** – 条件に基づいて行をフィルタリング 
3. **GROUP BY** – 行をグループ化 
4. **SELECT** – 列を選択 
5. **HAVING** – グループに対する条件を指定 
6. **ORDER BY** – 行を並べ替え 

1. usersテーブルから 
2. age20を超えるデータを 
3. nameでグループ化し 
4. nameと件数(Count)を取得し 
5. 件数が2件以上あるデータを 
6. nameの順番で並び替える 

GROUP BY やHAVINGは最初は難しいので存在だけ知っておけばよいです。 
基本的にはFROM→WHERE→SELECTの順番を覚えておいてください。 

2.SQLにおいて改行は区切りではない

SQLでは、改行はクエリの区切りとして認識されません。 
クエリの終わりを示すためには、セミコロン (;) を使用します。 

(入力)
SELECT * FROM users (Enterボタン)
WHERE age > 20; (Enterボタン)

しかし、FROMの途中で区切るような記述はNGですので気を付けてください。 

(入力)
SELECT * FR (Enterボタン)
OM users ; (Enterボタン)

3.シングルクォートの意味

シングルクォート (‘) は文字列リテラルを囲むために使用されます。 

(入力)
SELECT * FROM users (Enterボタン)
WHERE name = ‘John’; (Enterボタン)

上記のSQLはuserテーブルのname列に対して文字列「John」のレコードを取得します。 
テーブルに属するカラムを指定するときは’を付けません。 
それと区別するために文字列とする場合に’で囲む必要があります。 

今回はここまで。 
SQLの基本的な動作である、データ取得(SELECT)をお話しました。 
始めたばかりで何から勉強すればよいのかわからない方のお役に立てていたら幸いです。 
次回はSELECTの少し複雑な内容やデータの考え方についてお伝えできればと思います。 

4.まとめ

今回は、SQLの基本的な構文であるSELECT文について解説しました。

SELECT文は、データベースからデータを取得するために使用され、構成要素としてSELECT、FROM、WHEREなどの予約語が使われます。
また、SQLで改行は区切りとして認識されないこと、シングルクォートは文字列リテラルを囲んでいる事についても触れました。

SQLを使用する事で、データベース内のデータを効率的に操作・管理することができるので、是非使ってみてください。

無料ご相談受付中 まずはお気軽にご相談ください

Microsoftを導入してコスト効率をよくしたい

Microsoftを導入して
コスト効率をよくしたい

Microsoftに関して気軽に聞ける相談相手が欲しい

Microsoftに関して
気軽に聞ける相談相手が欲しい

Microsoftを導入したが、うまく活用できていない・浸透していない

Microsoftを導入したが、うまく活用できていない・浸透していない

社内研修を行いたいが社内に適任者がいない

社内研修を行いたいが
社内に適任者がいない

Bizwindでは、Microsoft導入支援事業などを中心に
IT・DX推進に関する様々なご相談を承っております。
ご相談・お見積りは無料です。まずはお気軽にお問い合わせください。

無料ご相談はこちら

ビズウインドでは、 様々な課題でお困りの お客様に対して、 無料相談を実施しております。

無料相談に申し込む

DX推進サービス一覧

担当者に今すぐ質問する

簡単な情報入力でBizwind担当者が
お電話にて回答いたします!

すぐに電話で質問
日時指定で折り返し

以下の内容をご記入・送信ください。
確認次第お電話を差し上げます。

    以下の内容をご記入・送信ください。
    確認次第お電話を差し上げます。

      4月
      1月
      2月
      3月
      4月
      5月
      6月
      7月
      8月
      9月
      10月
      11月
      12月
      2025
      1950
      1951
      1952
      1953
      1954
      1955
      1956
      1957
      1958
      1959
      1960
      1961
      1962
      1963
      1964
      1965
      1966
      1967
      1968
      1969
      1970
      1971
      1972
      1973
      1974
      1975
      1976
      1977
      1978
      1979
      1980
      1981
      1982
      1983
      1984
      1985
      1986
      1987
      1988
      1989
      1990
      1991
      1992
      1993
      1994
      1995
      1996
      1997
      1998
      1999
      2000
      2001
      2002
      2003
      2004
      2005
      2006
      2007
      2008
      2009
      2010
      2011
      2012
      2013
      2014
      2015
      2016
      2017
      2018
      2019
      2020
      2021
      2022
      2023
      2024
      2025
      2026
      2027
      2028
      2029
      2030
      2031
      2032
      2033
      2034
      2035
      2036
      2037
      2038
      2039
      2040
      2041
      2042
      2043
      2044
      2045
      2046
      2047
      2048
      2049
      2050
      30
      31
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      1
      2
      3
      10:00
      11:00
      12:00
      13:00
      14:00
      15:00
      16:00
      17:00
      18:00