投影と選択とは何ですか?


93

投影と選択の違いは何ですか?それは...ですか:

  • 射影->テーブルの列を選択するため。そして
  • 選択--->テーブルの行を選択しますか?

では、投影と選択はそれぞれ垂直スライスと水平スライスですか?

回答:


180

丁度。

射影とは、クエリが返す(または式)を選択すること意味 します。

選択とは、返されるを意味します

クエリが

select a, b, c from foobar where x=3;

その場合、「a、b、c」は投影部分であり、「ここでx = 3」は選択部分です。


3
確かに明確な説明ですが、SQLのこの側面は混乱し、誤解を招く可能性があります。SELECT句は実際には(選択ではなく)射影をWHERE実行し、実際に選択を実行するのは句です。
flow2k

4
@ flow2kよく観察されていますが、私に責任を負わないでください;-)
Erich Kitzmueller

2
@ ErichKitzmuellerHa-私にはそのような意図はなかったので安心してください。時々私は、定義や構文のこれらの微妙な点を理解したり受け入れたりすることで、それをよりよく覚えることができます。
flow2k


6

射影: select句に入力されたもの、つまり「列リスト」または「*」または「式」が射影されます。

*選択: *その列に適用している条件のタイプ。つまり、選択対象のレコードを取得します。

例えば:

  SELECT empno,ename,dno,job from Emp 
     WHERE job='CLERK'; 

上記のクエリでは、「empno、ename、dno、job」列が投影され、「where job = 'clerk'」が選択されます。


5

射影と選択は、関係代数の2つの単項演算であり、RDBMS(リレーショナルデータベース管理システム)で実用的なアプリケーションがあります。

実際には、yes Projectionはテーブルから特定の列(属性)を選択することを意味し、Selectionは行(タプル)をフィルタリングすることを意味します。また、従来のテーブルの場合、投影と選択は、垂直および水平のスライスまたはフィルタリングと呼ぶことができます。

ウィキペディアでは、これらのより正式な定義と例を提供しており、関係代数についてさらに読むのに役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.