「SQLによる検索」を実践する:「データベーススペシャリスト試験」戦略的学習のススメ(12)(1/4 ページ)
あの“津崎さん”も保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は、「SQLによる検索の基礎」を解説します。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍ポケットスタディ データベーススペシャリスト [第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 | 所属部署 | |
---|---|---|
安達 | 営業部 |
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
春期試験の押さえどころを総ざらい!
本連載では、テクニカルエンジニア(データベース)試験に対応できる知識を確認していきます。多岐にわたる知識が問われる試験ですので、受験する方はもちろん、日常業務ではあまり使うことのない技術知識の確認にも役立ててください。データベーススペシャリスト試験(Database Specialist Examination)
ITエンジニアに必要な各種資格情報を解説する「@IT自分戦略研究所 資格辞典」。今回は、IPAが実施する情報処理技術者試験の「高度試験」9区分のうちの一つ「データベーススペシャリスト試験」を紹介する。真のデータベースエンジニアを目指そう!
本連載は、ITシステム開発の現場でプログラミングやSQLのコーディングを行っているエンジニア(データベース利用者)が、データ管理者(DA)やデータベース管理者(DBA)へステップアップするための第一歩として有効な基礎知識を紹介する(編集局)【Oracle Database】忘れていませんか? 「アラートログ調査」に必要な、たった3つのキホン
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は基本編として「アラートログの調査で押さえるべき3つのポイント」を解説します。【Oracle Database 12c対応版】