SE基本情報に出るIT用語

SQLとは?データベースとデータをやり取りするときに使う言葉

どうも!ひよこSE(@PiyoOct)です。

SQL(エスキューエル)って何?

ひとことでわかりやすく言えば、「データベースとデータをやり取りするときに使う言葉」です。

「データをやり取りする」って言われてもなぁ。

データベースというのは、データを入れておく箱・入れ物のようなものです。

例えば「氏名」というデータがデータベースという箱に入っていたとしたら、「氏名を取り出すために書く言葉みたいなイメージ」なのが、SQLです。

スポンサーリンク

SQLとは?データベースとデータをやり取りするときに使う言葉

SQLとは?データベースとデータをやり取りするときに使う言葉のことです。

  • S:Structured(構造化された)
  • Q:Query(問い合わせ)
  • L:Language(言語)

を直訳すると、「構造化された(データベースに)問い合わせをするための言語」的な感じになります。

問い合わせはデータベースに向かって、行います!

データベースって何?

データベースって何?となっている人向けに簡単に説明します。

DB(データベース)とは?データを保存しておく入れ物や箱のこと」でも書いていますが、データベースとは「データを保存しておく入れ物や箱のこと」です。

データベースとはデータを入れる入れ物のこと

誰かの名前だったり性別だったり年齢のような、データをポイっと投げて、保存。

データの塊を保存する、入れ物の役割をするのがデータベースです。

データベースとデータをやり取りするときに書くのがSQL

さて、人間に話しかけるように、「あとで忘れるかもしれないから、○○さんの電話番号を覚えておいてくれ!」とデータベースにお願いしても、いうことを聞いてくれません。

電話番号を覚えておいてほしいなら、ちゃんと保存するための言葉を書かないとダメです。

そして、いざ、「○○さんの電話番号なんだっけ?」というのが知りたくなったとして。

データベースに聞くなら、ちゃんとそれ用の言葉を書かないと、データベースは教えてくれません。

「それ用の言葉」がまさにSQL。

SQLとはデータベースとデータをやり取りする言葉

登録・保存・削除・データの抽出などを、データベースとやり取りするための言葉がSQLです。

スポンサーリンク

基本情報技術者試験向けに最低限覚えておくべきSQLはたくさん

SQLってむずそう。どうやって書くの?

SQLの構文は無限にあります・・・。

ここでは、基本情報技術者試験に出そうな、シンプルな文を5つピックアップします。

当然まだまだあるので、過去問の演習中に、他の構文が出てきたら、覚えたって下さい(*´ω`)。

例えば、社員のデータを保存することを目的とした「社員」テーブルというものがあったとします。

【社員テーブルの定義】(あくまでも例です)
社員番号
入社年度
社員名
性別コード ※1=男, 2=女

その1:insert into テーブル名 values (項目1, 項目2,…)【データを登録】

2021年度に、山田太郎くん・佐藤花子ちゃん・鈴木一郎くんの3人が入社したとして。

それを、「『社員』テーブルに登録・保存しておきたいな~」となったら、こんな感じのSQLを書きます(あくまでイメージです)。

insert into 社員 values (20210001, 2021, ‘山田太郎’, ‘1’);
insert into 社員 values (20210002, 2021, ‘佐藤花子’, ‘2’);
insert into 社員 values (20210003, 2021, ‘鈴木一郎’, ‘1’);
commit;

これで、2021年に入社した3人が社員テーブルに登録されました。

その2:select 項目名 from テーブル名【データをとってくる】

さて、2021年に入社した男性社員社員名が知りたいとしたら、こんな感じのSQLを書きます。

select 社員名 from 社員 where 入社年度 = ‘2021’ and 性別コード = ‘1’;

そしたらこんな感じで結果が返ってきますね。

社員名
———
山田太郎
鈴木一郎

他にも、2021年に入社した男性社員の人数が知りたいとしたらこんな感じのSQLを書きます。

select count(*) AS 男性社員人数 from 社員 where 入社年度 = ‘2021’ and 性別コード = ‘1’;

そしたらこんな感じで結果が返ってきますね。

男性社員人数
————–
2

その3:update テーブル名 set 項目名【データを更新する】

さて、社員テーブルに登録した2021年度入社の社員3名。

実は、全員2020年度入社で、打ち間違えてしまいました。2020年に修正したいです。

って言うときに書くSQLはこんな感じ。

update 社員 set 入社年度 = ‘2020’ where 入社年度 = ‘2021’;

その4:where句【条件をしぼり込む】

where というのは、条件をしぼり込むために使います。

「2021年に入社した男性社員の社員名」のように、社員名に条件があるイメージ。

select 社員名 from 社員 where 入社年度 = ‘2021’ and 性別コード = ‘1’;

その5:order by【並びかえをする】

さて、2021年度入社の社員全員の名前を、男性・女性順に並べたあとにID順にしたいです。

みたいなとき。

select 性別コード, 社員ID, 社員名 from 社員 where 入社年度 = ‘2021’ order by 性別コード ASC, 社員ID ASC;

ASCは昇順(番号が小さい順)で、DESCは降順(番号が大きい順)です。

▼結果

性別ID 社員ID 社員名
——- ———— ———–
1 20210001 山田太郎
1 20210003 鈴木一郎
2 20210002 佐藤花子

・・・まぁ、こんな感じのノリで、SQLは書いていきます。

他にも、

  • 集計を行うgroup by(最大値、合計、最小値、カウントに使う)
  • 集計後にフィルターをかけるhaving
  • テーブル同士をくっつけるleft join
  • 複数のSQLをくっつけるunion

あたりも基本情報技術者試験では出ると思いますが、一度に理解するのは、たぶんむりです。

時間をかけてゆっくりと勉強していってください。

まとめ:SQLはデータを登録したり抽出したりする

SQL(エスキューエル)ときたら、データを登録したり抽出したり。

データベースとデータをやり取りするときに使う言葉」だと覚えておいてくださいまし。

もし、勉強するとなったら

  • insert(データの登録)
  • select(データの選択)
  • update(データの更新)
  • where(条件のしぼり込み)
  • order by(並べかえ)

は、当たり前のように出るので、「そういう文を書くんだなぁ~」と覚悟してくださいまし(-_-;)。

スポンサーリンク

▼この記事がいいと思ったら、下の画像をクリックしてくれたら励みになります!

にほんブログ村 IT技術ブログ システムエンジニアへ

コメント

タイトルとURLをコピーしました