web-dev-qa-db-fra.com

Quelle est la différence entre les opérations de sélection et de projet

Je fais référence aux opérateurs de base de l’algèbre relationnelle ici.
Selon moi, tout ce qui peut être fait avec un projet peut être fait avec select. 

Je ne sais pas s'il y a une différence ou une certaine nuance que j'ai manquée.

28
gizgok

Opération de sélection: Cette opération permet de sélectionner des lignes dans une table (relation) spécifiant une logique donnée, appelée predicate. Le prédicat est une condition définie par l'utilisateur pour sélectionner les lignes de son choix.

Opération de projet: Si l'utilisateur est intéressé par la sélection des valeurs de quelques attributs plutôt que par la sélection de tous les attributs de la table (relation), il convient de choisir l'opération PROJECT

Voir plus: Algèbre relationnelle et ses opérations

45
sgokhales

PROJETélimine les colonnes tandis queSÉLECTIONNEélimine les lignes. 

41
Krishna Pal

En algèbre relationnelle, «Sélection» et «Projection» sont des opérations différentes, mais SQL SELECT combine ces opérations dans une seule instruction. 

Select récupère les n-uplets (lignes) d'une relation (table) pour laquelle la condition de la section 'prédicat' (clause WHERE) est vraie.

Project récupère les attributs (colonnes) spécifiés.

La requête SQL SELECT suivante:

select field1,field2 from table1 where field1 = 'Value';

est une combinaison des opérations de projection et de sélection de l’algèbre relationnelle.

15
EmergeStronger

Le projet n'est pas une déclaration. C'est la capacité de l'instruction select . L'instruction select a trois capacités. Ils sont sélection, projection, rejoindre. Selection-it récupère les lignes satisfaites par la requête donnée . Projection-it sélectionne les colonnes satisfaites par la requête donnée . Join-it joint les deux ou plusieurs tables.

7
user4980372

Project aura des effets sur les colonnes du tableau tandis que Select affectera les lignes. D'autre part, Project est utilisé pour sélectionner les colonnes avec des propriétés spécifiques au lieu de Sélectionner toutes les données de colonnes

1
Mohi72

l’opération de sélection est utilisée pour sélectionner un sous-ensemble de Tuple dans la relation qui satisfait à la condition de sélection. Elle élimine les Tuple qui remplissaient la condition. Les tuples qui ne sélectionnent pas la condition sont rejetés Sigma (R) L’opération de projection est utilisée pour sélectionner un attribut de la relation qui satisfait la condition de sélection. Il filtre uniquement les tuples qui remplissent la condition. L'opération de projection peut être visualisée comme une partition verticale en deux parties - ceux qui remplissent la condition sont sélectionnés, mais sont rejetés Π (R) Attribut list

1
akanksha malik

La différence entre l'opérateur de projet (π) en algèbre relationnelle et le mot clé SELECT en SQL réside dans le fait que si la table/le jeu résultant contient plusieurs occurrences du même Tuple, alors π n'en renvoie qu'une seule, tandis que SQL SELECT renvoie tout.

0
Shaykh Aawmir

sélectionnez seulement change la cardinalité de la table de résultats mais le projet change à la fois le degré de relation et la cardinalité. 

0
Binod Regmi

Sélectionnez extraire les lignes de la relation avec une condition et Project extrayez un nombre particulier d'attributs/colonnes de la relation avec ou sans condition.

0
rashedcs

La différence vient de l'algèbre relationnelle où le projet affecte les colonnes et sélectionne les lignes. Cependant, dans la syntaxe de la requête, select est le mot. Il n'y a pas de requête en tant que projet. En supposant qu’il existe une table nommée utilisateurs avec des centaines de milliers d’enregistrements (lignes) et que la table comporte 6 champs (ID utilisateur, Fname, Lname, âge, pword, salaire). Disons que nous voulons limiter l'accès aux données sensibles (ID utilisateur, mot de passe et salaire) et limiter la quantité de données à accéder. Dans mysql maria DB, nous créons une vue comme suit (Créer la vue user1 en sélectionnant Fname, Lname, âge à partir de 100;); de notre vue, nous émettons (en sélectionnant Fname à partir de users1;). Cette requête est à la fois une sélection et un projet 

0
Malala Victor