Previous: where句
Up: where句
Next: 論理演算
Previous Page: where句

検索条件の指定

実際には、from句に複数のテーブルを指定するのは、select の形では、ちょっと試 しにくいかも知れない。例えば、たった20行からなるテーブルどうしでも、積を作れ ば、行数は20×20=400行になってしまう。もしも、1000行程度のテーブルなら、その積 のテーブルは100万行にも膨れ上がってしまう。しかし、実務の世界では、1000行規模の テーブルなどは、むしろ小さなテーブルと言えるのである。

これまでのselect文の使い方では、項目名の指定によって、テーブルから不用な項目を 切り落とし必要な項目だけを残すことは出来ても、必要な行だけを残すことが出来な かった。別の言い方をすれば、これまでは、テーブルに縦方向にハサミを入れて、項目 の切り貼りをすることは出来ても、テーブルに横方向にハサミを入れて、不用な行を切 り落とすことが出来なかったのである。

select文のwhere句は、まさにこの、検索さるべき行が満たすべき条件の指定という働 きをするのである。

次の例では、「書籍台帳」というテーブルから、300円以下の定価の図書の書名と、定 価を表示させている。

例 11: 定価300円未満の本を検索

select 書名 , 定価
	from   書籍台帳
	where  定価 < 300

where句の中にあらわれうる比較演算子には次のような種類がある。

=      等しい
	>     大きい
	<     小さい
	>=    大きいか、あるいは、等しい 
	<=    小さいか、あるいは、等しい
	!=    等しくない
	<>    等しくない

注意しておきたいことは、これらの比較演算子が、数値に対しても文字列に対しても、 同じように使えるということである。いくつかの例を挙げておこう。 まず最初の例は、「出版社一覧」というテーブルから、「技術評論社」の出版社コード を得ようというものである。文字列は、シングル・クォート(')、または、ダブル・ クォート(")で囲まれていなければならない。

例 12: 技術評論社の出版社コードを検索

select 出版社 , 出版社コード
	from   出版社一覧
	where  出版社 = '技術評論社'

技術評論社の出版社コード('0177')が分かれば、次のような検索も可能となる。

例 13: 出版社コード'0177'の本を検索

select 書名
	from   書籍台帳
	where  出版社コード = '0177'

書名 --------------------------------------------------------------------- J‐3100SS/GS定番フリーソフトウエア集 HANDY98パワフル活用術 MSX‐C入門 応用C言語 実習C言語 入門C言語 Microsoft Cライブラリ・リファレンス アストロガイド マシン語ゲーム・プログラミング The CARD3+入門 NEWS 山田祥平の戦うMS‐DOS ................. MIFES Ver.5を256倍使うための本 GAMEゲームげぃむ The Atlas note

(45 rows affected)

ここで、'0177'となっているのは、比較が文字列の比較として行われていることを意味 している。

maruyama@wakhok.ac.jp
1995年02月10日 (金) 00時49分16秒 JST