В чем разница между операциями выбора и проекта - PullRequest
29 голосов
/ 25 марта 2011

Я имею в виду основные операторы реляционной алгебры.
На мой взгляд, все, что можно сделать с проектом, можно сделать с помощью select.

Я не знаю, есть ли разница или определенный нюанс, который я пропустил.

Ответы [ 10 ]

46 голосов
/ 25 марта 2011

Операция выбора: Эта операция используется для выбора строк из таблицы (отношения), которая задает данную логику, которая называется predicate. Предикат - это пользовательское условие для выбора строк по выбору пользователя.

Операция проекта: Если пользователь заинтересован в выборе значений нескольких атрибутов, а не в выборе всех атрибутов таблицы (отношение), то следует перейти к операции PROJECT.

Подробнее: Реляционная алгебра и ее операции

45 голосов
/ 28 июля 2013

PROJECT удаляет столбцы, а SELECT удаляет строки.

19 голосов
/ 28 февраля 2014

В реляционной алгебре «Выделение» и «Проекция» - это разные операции, но SQL SELECT объединяет эти операции в одном выражении.

Select извлекает кортежи (строки) в отношении (таблице), для которых выполняется условие в разделе «предикат» (предложение WHERE).

Проект извлекает указанные атрибуты (столбцы).

Следующий запрос SQL SELECT:

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

является комбинацией операций проекции и выделения реляционной алгебры.

8 голосов
/ 06 июня 2015

Проект не является заявлением. Это возможность оператора select. Оператор select имеет три возможности. Это отбор, проекция, объединение. Выбор - это получает строки, которые удовлетворены данным запросом. Проекция - это выбирает столбцы, которые удовлетворены данным запросом. Join-it объединяет две или более таблицы

1 голос
/ 13 августа 2016

Project повлияет на столбцы в таблице, а Select - на строки. с другой стороны, Project используется для выбора столбцов со специальными свойствами, а не для выбора данных всех столбцов

1 голос
/ 11 апреля 2015
Операция выбора

используется для выбора подмножества кортежа из отношения, которое удовлетворяет условию выбора. Отфильтровывает те кортежи, которые удовлетворяют условию. Операция выбора может быть визуализирована как горизонтальное разбиение на два набора кортежа - те кортежи, которые удовлетворяют условиювыбрано, и эти кортежи не выбирают условие, отбрасываемое Сигма (R). Операция проецирования используется для выбора атрибута из отношения, которое удовлетворяет условию выбора.Он отфильтровывает только те кортежи, которые удовлетворяют условию.Операция проецирования может быть визуализирована как вертикальное разделение на две части - если удовлетворены условия, выбраны другие отброшенные attribute (R) список атрибутов - это номер атрибута

0 голосов
/ 27 февраля 2018

Разница заключается в реляционной алгебре, где проект влияет на столбцы, а выбор влияет на строки. Однако в синтаксисе запроса выберите слово. Нет такого запроса как проект. Предполагается, что есть таблица с именем users с сотнями тысяч записей (строк), и таблица имеет 6 полей (userID, Fname, Lname, age, pword, salary). Допустим, мы хотим ограничить доступ к конфиденциальным данным (userID, pword и salary), а также ограничить объем данных, к которым осуществляется доступ. В mysql maria DB мы создаем представление следующим образом (Создайте представление user1 как выберите Fname, Lname, age от users limit 100;) из нашего представления, которое мы выдаем (выберите Fname из users1;). Этот запрос является одновременно выбором и проектом

0 голосов
/ 19 февраля 2018

select только меняет количество элементов в таблице результатов, но проект меняет как степень отношения, так и количество элементов.

0 голосов
/ 15 февраля 2018

Разница между оператором проекта (π) в реляционной алгебре и ключевым словом SELECT в SQL заключается в том, что если в результирующей таблице / наборе имеется более одного вхождения одного и того же кортежа, то π вернет только один из них, а SQLSELECT вернет все.

0 голосов
/ 29 июля 2017

Выберите извлечь строки из отношения с некоторым условием, а Project извлечет определенное количество атрибута / столбца из отношения с некоторым условием или без него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...