Previous: where句
Up: where句
Next: 論理演算
Previous Page: where句
実際には、from句に複数のテーブルを指定するのは、select の形では、ちょっと試
しにくいかも知れない。例えば、たった20行からなるテーブルどうしでも、積を作れ
ば、行数は20×20=400行になってしまう。もしも、1000行程度のテーブルなら、その積
のテーブルは100万行にも膨れ上がってしまう。しかし、実務の世界では、1000行規模の
テーブルなどは、むしろ小さなテーブルと言えるのである。
これまでのselect文の使い方では、項目名の指定によって、テーブルから不用な項目を
切り落とし必要な項目だけを残すことは出来ても、必要な行だけを残すことが出来な
かった。別の言い方をすれば、これまでは、テーブルに縦方向にハサミを入れて、項目
の切り貼りをすることは出来ても、テーブルに横方向にハサミを入れて、不用な行を切
り落とすことが出来なかったのである。
select文のwhere句は、まさにこの、検索さるべき行が満たすべき条件の指定という働
きをするのである。
次の例では、「書籍台帳」というテーブルから、300円以下の定価の図書の書名と、定 価を表示させている。
select 書名 , 定価 from 書籍台帳 where 定価 < 300
where句の中にあらわれうる比較演算子には次のような種類がある。
= 等しい > 大きい < 小さい >= 大きいか、あるいは、等しい <= 小さいか、あるいは、等しい != 等しくない <> 等しくない
注意しておきたいことは、これらの比較演算子が、数値に対しても文字列に対しても、 同じように使えるということである。いくつかの例を挙げておこう。 まず最初の例は、「出版社一覧」というテーブルから、「技術評論社」の出版社コード を得ようというものである。文字列は、シングル・クォート(')、または、ダブル・ クォート(")で囲まれていなければならない。
select 出版社 , 出版社コード from 出版社一覧 where 出版社 = '技術評論社'
技術評論社の出版社コード('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