学生向けにプログラミングを解説。次>>データベースにサンプルのテーブルを作成します。以下の内容を2つのテキストファイルにコピーし、それに拡張子「.sql」をつけて保存して下さい。今回は、SQLファイルの名前を「TestTable.sql」と「TestData.sql」にしました。Script」で指定します。「TestTable.sql」ファイルを選択して、右上の「Execute」ボタンを押します。ファイルに書かれたSQLが実行され、下の余白に結果が表示されます。次に「TestData.sql」ファイルを選択して、「Execute」ボタンを押します。これでテスト用のテーブルとデータが揃いました。一般のデータベース・ユーザーとして、データベース利用の基本であるデータの検索をして見ましょう。SQLでは、検索には、select文を用いるのですが、その基本形は次のような形をしています。検索条件;命令文の最後はセミコロン(;)を必ず記述します。ここでもう一度、リレーショナル・データベースの基本的な構成を振り返ってみます。1.「データベース」は、「テーブル」から構成されます。2.「テーブル」は、「行」から構成されます。3.「行」は、「項目(カラム)」から構成されます。した構成を反映して、リレーショナル・データベースでの検索は、検索すべき項目をfrom句で指定したテーブルの中から選び出すという形をとります。ここで項目リストに現れる項目は、必ずリスト中のテーブルに含まれねばなりません。具体的なselectの実例を見てみましょう。これは「books」テーブルからの検索例です。この「books」テーブルは、「id」「title」「author」「publisher」という4つの項目から出来ています。books;次の例では、「books」テーブルの全ての行から、3つの項目が選ばれて表示されます。項目名のリストが、コンマ(,)で区切られていることに注意しましょう。項目名の順序に意味があることは、例1のselect文の出力と比較してみれば分かります。books;select文での行の出力は、元のテーブル内での項目の順番とは独立に、項目リストでの項目名の順番に従います。このようにselect文での項目リストは、元のテーブルから特定の項目を抜き出す働きをしています。大事なことは、select文の出力が項目リストで指定された項目からなる行の集まりであることです。このことはselect文の出力が、再び新しいテーブルを構成していることを意味しています。次の例では、項目名のリストが省略され、「*」が指定されています。この指定の意味は、出力結果を見れば明らかです。テーブルの全項目が、元のテーブルの項目順に指定されたのと同じ結果が得られています。books;次は各項目をカンマ(,)で区切ります。例3と同じ結果を得ることが出来ます。books;これまでの出力を見れば、selectの出力では最初に見出しが表示されていることがわかります。デフォルトで見出しには項目名が使われるのですが、この見出しを変更することも可能です。変わっているのがわかります。見出しを変更するには、select文の項目リストを少し変形して、項目名の後ろに空白文字で区切り、対応する見出し名を置き、この項目名と見出し名のペアをカンマで区切って並べればよいです。books;見出しを変えるだけでなく、select文の出力の行内に文字列を表示したいこともあります。した時には、次のように項目リスト内に文字列を置くことが出来ます。books;SQLでは、項目リストに、関数や四則演算を含んだ式を置くことができます。この時、項目は他のプログラム言語での「変数」と同じような働きをする事になります。「books」テーブルでは数値のフィールドがないので、ここでは別のテーブルを準備して計算例を見てみることにします。qty」に注目してください。これは同じ行の中の本の定価に、売上部数を掛けたものです。結果の出力は見出し無しですが、新しい項目が作られていることが分かります。qty」でしたが、次に見るように定数やかっこを含む式を自由にselect文の項目リスト中に書くことが出来ます。qty先の例では見出しはデフォルトの項目名が使われていたため、演算で出来た新しい項目には見出しがありませんでしたが、例5の方法を用いると、計算の結果できた項目に見出しを与えることが出来ます。books2;二つのテーブルの「積」という演算を定義してみましょう。なるテーブルBがあったとします。いま単純化して、テーブルAとBには下の図式で表されるようなデータが入っており、それぞれ2行と3行からなっているとします。zこうした時、2つのテーブルの「積」A×Bは、次のように作られます。テーブルAの第一行を取り出し、その一行と、テーブルBの全ての行を組み合わせて新しい行を作ります。次に、テーブルAの第二行目と、テーブルBの全ての行を組み合わせて行を作ります。した操作を、テーブルAの行が無くなるまで繰り返します。先のテーブルA、Bの例では、A×Bは、次のようになります。z明らかにA×Bは、新しいテーブルです。一般にテーブルAがa個の行からなり、テーブルBがb個の行からなる時、テーブルA×Bはa×b個の行からなります。この時、テーブルA×Bの内容は、次のselect文で得られます。B;これまでは、from句には、単一のテーブルしか現れてきませんでしたが、この例のように、コンマ(,)で区切って複数のテーブル名を指定することが出来ます。まとめはてなブログをはじめよう!MrRadiologyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。