В чем разница между операциями Select и Project

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

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

что люди @ так думают

10 ответов


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

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

посмотреть еще:реляционная Алгебра и ее операции


проект исключает столбцов выберите устраняет строк.


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

Select извлекает кортежи (строки) в отношении (таблице), для которого условие в разделе "предикат" (предложение WHERE) имеет значение true.

Project получает указанные атрибуты (столбцы).

следующий SQL SELECT query:

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

- Это сочетание проекции и Операции выбора реляционной алгебры.


проект не является утверждением. Это возможность оператора select. Инструкция Select имеет три возможности. Это отбор, проекция, соединение. Selection-он извлекает строки, которые удовлетворяются данным запросом. Проекция-он выбирает столбцы, которые удовлетворяются данным запросом. Join-он присоединяется к двум или более таблицам


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


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


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


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


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


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