1

Предположим, есть два набора данных:Как я могу заключить SQL-запрос в реляционную алгебру?

User(id, name, phone) 

Friend(id, fid) 

шлагтов является Ид пользователем друга ид-пользователя

Чтобы найти имя всех друзей ид = 123 Я написал этот SQL-запрос:

SELECT name FROM user WHERE id = (SELECT fid FROM friend WHERE id = 123) 

я думаю об этой реляционной алгебры:

PROJECT name (SELECT uid =123 (Friend * User)) 

Любое предложение улучшить/исправить?

+0

Добавлен ответ на первую часть, вы можете объяснить, что вы пытаетесь достичь второй части исходного проекта .... так что я могу помочь с этим – Matt

ответ

1

Регистрация таблицы

SELECT u.name 
FROM user u 
INNER JOIN Friend f ON u.ud = f.fid 
WHERE f.id = 123 
+0

Это суб -query не может измениться на реляционную алгебру? –

+0

Можете ли вы объяснить, чего вы пытаетесь достичь для второй части, начинающейся с проекта .... так что я могу помочь с этим – Matt

+0

Я не уверен, правильный ли мой ответ (оператор реляционной алгебры), поэтому прошу помощи по этому утверждению. –