投影と選択の違いは何ですか?それは...ですか:
- 射影->テーブルの列を選択するため。そして
- 選択--->テーブルの行を選択しますか?
では、投影と選択はそれぞれ垂直スライスと水平スライスですか?
回答:
丁度。
射影とは、クエリが返す列(または式)を選択することを意味 します。
選択とは、返される行を意味します。
クエリが
select a, b, c from foobar where x=3;
その場合、「a、b、c」は投影部分であり、「ここでx = 3」は選択部分です。
射影: select句に入力されたもの、つまり「列リスト」または「*」または「式」が射影されます。
*選択: *その列に適用している条件のタイプ。つまり、選択対象のレコードを取得します。
例えば:
SELECT empno,ename,dno,job from Emp
WHERE job='CLERK';
上記のクエリでは、「empno、ename、dno、job」列が投影され、「where job = 'clerk'」が選択されます。
射影と選択は、関係代数の2つの単項演算であり、RDBMS(リレーショナルデータベース管理システム)で実用的なアプリケーションがあります。
実際には、yes Projectionはテーブルから特定の列(属性)を選択することを意味し、Selectionは行(タプル)をフィルタリングすることを意味します。また、従来のテーブルの場合、投影と選択は、垂直および水平のスライスまたはフィルタリングと呼ぶことができます。
ウィキペディアでは、これらのより正式な定義と例を提供しており、関係代数についてさらに読むのに役立ちます。
SELECT
句は実際には(選択ではなく)射影をWHERE
実行し、実際に選択を実行するのは句です。