連載
» 2017年07月11日 05時00分 UPDATE

「データベーススペシャリスト試験」戦略的学習のススメ(12):「SQLによる検索」を実践する (1/4)

あの“津崎さん”も保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は、「SQLによる検索の基礎」を解説します。

[具志堅融, 河科湊,著]

連載目次

ポケットスタディ データベーススペシャリスト [第2版]

書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍ポケットスタディ データベーススペシャリスト [第2版](2015年12月22日発行)』からの抜粋です。

ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。


※編集部注:前回記事「「関係代数」を理解する」はこちら

SQLによる検索

出題頻度 午前II:●●- 午後I:●●● 午後II:●--


 ●--:過去14年間での過去問出題数が1〜9回
 ●●-:過去14年間での過去問出題数が10〜19回
 ●●●:過去14年間での過去問出題数が20回以上


Key Word

SELECT文による検索処理、SELECT 句の使用例、SELECT句に関するその他のテクニック、副問合せ、WHERE句の使用例、GROUPBY句の使用例、ORDER BY句の使用例


 SQLには、データ定義言語(DDL : Data Definition Language)とデータ操作言語(DML : Data Manipulation Language)の2種類があります。

 ここでは、データ操作言語について説明します。

SELECT文による検索処理

 以下はSELECT文の基本的な使用方法です。表(テーブル)を検索し、特定の行や列の抽出や、列値の集計を行うことができます。

構文 SELECT 列名1, 列名2,…
 FROM テーブル名
 WHERE 条件式1
 GROUP BY グループ化する列名
 HAVING 条件式2
 ORDER BY 並び順
列名 抽出する列名を指定。ここで選択した列の集合を選択項目リストという。単純な列の指定以外に、以下を利用できる
 *:すべての列を指定
 計算式:列名1*0.5などの算術式
 集合関数:COUNT(列名)、SUM(列名)等
※同一の列を異なる選択項目として指定することもできます
テーブル名 検索対象となるテーブルを指定
条件式1 行を抽出する条件を指定
グループ化する列名 グループ化する集計キーを指定(複数指定可能)
条件式2 グループ化したデータの抽出条件を指定
並び順 出力結果の並び順を指定

 以降、SELECT文に関する各句の使い方を、以下のテーブルを例に説明します。

社員テーブル
社員番号 社員名 所属部署 勤続年数 休暇日数
001 安達 営業部 9 NULL
002 伊藤 総務部 5 NULL
003 宇部 総務部 3 NULL

SELECT 句の使用例

(1)選択(特定の行を取り出す)

SELECT * FROM 社員 WHERE 社員番号='001'
検索結果
社員番号 社員名 所属部署 勤続年数 休暇日数
001 安達 営業部 9 NULL

(2)射影(特定の列を取り出す)

SELECT 社員名, 所属部署 FROM 社員
検索結果
社員名 所属部署
安達 営業部
伊藤 総務部
宇部 総務部

(3)該当する行数を数えるCOUNT(*)

SELECT COUNT(*) FROM 社員
検索結果
COUNT(*)
3

(4)列名に別名をつける

 列名の直後に「AS 別名」の形で、列名に別名を指定することができます(「AS」は省略可能です)。

SELECT 社員名 AS A,所属部署FROM 社員 WHERE A='安達'
検索結果
A 所属部署
安達 営業部
       1|2|3|4 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。