情報処理技術者試験の午前問題対策のホームページです。
趣 旨 

当ホームページのアクセス数No.1の『SQL講座』です。
マイクロソフトのAccessというデータベースソフトを利用して、10回の講義形式で、SQLを学んでいきます。

初級シスアドから目指すSQLというコンセプトのもと、なるべく分かりやすく、かつ、注意すべき点などを随所に盛り込みながら、解説していきます。

SQL講座のTopへ戻る

MENU
第2時限目:基本SELECT文

MS-AccessでSQL
基本SELECT文
関係関数指定
集合関数指定
GROUP BY と HAVING
並べ換え
表の結合
挿入・更新・削除
副問合せ
練習問題






SQLによる問合せ(データ探索)の基本構文は、次のような形式をとります。

---------------------------   --------------------------------------------
SQLステートメント              意味
---------------------------   --------------------------------------------
SELECT    列名リスト          xxx列を抜き出して表示しなさい
FROM      テーブル名リスト    xxxテーブルから探索して
[WHERE    探索条件]           探索条件が真(true)になる行を選択して
[GROUP BY 列名リスト]         xxx列の値でグルーピングして
[HAVING   探索条件]           探索条件が真(true)であるグループを選択して
---------------------------   --------------------------------------------
(※)[ ]内はなくてもよい。

■ すべての列を指定する

/* ch02-1 */

SELECT *
FROM 社員 ;



 テーブル商品から、すべての行について、すべての列を抜き出して表示します。
 * は、すべての列を意味する総称文字です。

< 実行結果ch02-1 >




■ 1 個以上の列を指定する

/* ch02-2 */

SELECT 氏名, 在籍支社
FROM 社員 ;



 テーブル商品から、すべての行について,列「氏名」と「在籍支社」を抜き出し表示します。
 列名が複数あるときは、,(カンマ)で区切ります。

< 実行結果ch02-2 >




■ 別名をつける

/* ch02-3 */

SELECT 氏名 AS 名前, 社員コード
FROM 社員 ;



 列名を指定したいときは、 AS 新列名を付け加えればいいです。
 新列名は、'(single quotation)で挟まなくてもいいです。

 そうすると、社員の列名”氏名”が、”名前”に変更されます。

< 実行結果ch02-3 >




■ 計算式

/* ch02-4 */

SELECT 商品名, 単価, 単価 * 1.05 AS 消費税込価格
FROM 商品 ;


 SELECT句の列名リストに計算式を書くことができます。

 計算式からなる列は、新たな列とみなされて、自動的に設定された列名が表示されます。


 計算式で使用することのできる主な算術演算子として次のものがあります。

算術演算子     使用例  意味(XとYは列名か数値である)
----------     -------  ------------------------------
  *  掛算       X * Y    XにYを掛ける。
  /  割算       X / Y    XをYで割る。
  +  足算       X + Y    XにYを足す。
  -  引算       X - Y    XからYを引く。
  ^  べき乗     X ^ Y    XをY乗する。
 Mod 余り       X Mod Y  XをYで割った余り。
  \  商         X \ Y    XをYで割った商。

(注)JIS規格SQLでは、”^”、”Mod”、”\”の演算子はない。
< 実行結果ch02-4 >



■ ALL と DISTINCT について


/* ch02-5 */

SELECT ALL 部署
FROM 仕入先 ;




/* CH02-6 */

SELECT DISTINCT 部署
FROM 仕入先 ;



 上記2つを実行し、見比べてみましょう。

 ALL(省略可)は、いくつかの行で値が重複していても、そのまま重複した行のまま表示されます。
 このように重複した値をとる集合をマルチ集合(multi-set)といいます。

 DISTINCTは、テーブル仕入先から、すべての行について、列「部署」を抜き出して表示します。
 このとき重複のない部署名の集合として抜き出します。
 SELECT句でDISTINCTという修飾語をつけると、マルチ集合ではなくなります。

< 実行結果ch02-5 >



< 実行結果ch02-6 >







第1時限目へ  第3時限目へ


このページのTopへ戻る
インフォメーション



© 2005 情報処理技術者試験対策 All rights reserved.
[PR] 情報セキュリティアドミニストレータ試験対策セキュアド試験午前問題徹底攻略セキュアド勉強会特訓PDCA式で学ぼう情報セキュリティ情報処理技術者試験 午前問題攻略
テクニカルエンジニア(情報セキュリティ)試験対策転職 就職ネイティブ音声日常英会話真夏のトレモロ