選択は、条件に合う行を取り出す
注文表から顧客IDがC01の行を選ぶと、O101とO103の2行が得られます。数量が2以上という条件でも、このデータでは同じ2行になりますが、条件の意味は異なります。
検索結果として取り出す操作であり、元の注文を削除することではありません。
| 操作 | 着目するもの | この例の結果 |
|---|---|---|
| 選択 | 条件に合う行 | C01の注文2行 |
| 射影 | 必要な列 | 注文IDと数量の2列 |
| 結合 | 表同士の対応する値 | 顧客IDでつなぎ顧客名を表示 |
射影は、必要な列を取り出す
注文IDと数量の列を取り出すと、顧客IDを含めずに注文ごとの数量を見られます。この例は注文IDを残すので3行のままです。
一般に関係代数の射影では重複した行を一つにまとめます。顧客IDだけを射影すれば、ここではC01とC02の2種類です。
SQLでの重複の扱いには指定の違いがあるため、同一視しないようにします。
結合は、対応する値を使って表をつなぐ
注文表と顧客表を顧客IDの一致で結合すると、注文ごとに顧客名を表示できます。C01の注文が2行あれば、あおいの名前も2行に現れます。
上から同じ順番の行を貼り合わせるのではありません。この例では全注文に参照先があり、顧客表の顧客IDが一意なので、結合結果は3行です。
条件やデータ次第で結果の行数は変わります。