選択は、条件に合う行を取り出す

注文表から顧客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行です。

条件やデータ次第で結果の行数は変わります。