SQL-запрос к реляционной алгебре, как объединить те же таблицы? - PullRequest
0 голосов
/ 11 ноября 2019

В реляционной алгебре, как вы присоединяете таблицу к себе?

Вопрос:

ветвь ( имя_в ветви , ветвь_город, активы)

account ( account_number , branch_name, balance)

Теперь рассмотрим следующий запрос SQL:

Select T.branch_name  
From branch T, branch S  
Where T.assets > S.assets and S.branch_city = “Shanghai”  

Напишите наиболее оптимизированное выражение реляционной алгебры, эквивалентноеэтот запрос. Обоснуйте свой выбор.

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

Спасибо за любую помощь, спасибо.

1 Ответ

0 голосов
/ 11 ноября 2019

Вы бы объединяли две таблицы вместе, как показано ниже:

SELECT * FROM
branch INNER JOIN account ON (branch.X=account.Y)
WHERE ...

Чтобы выполнить самостоятельное объединение, вы должны сделать то же самое, за исключением псевдонима одной (или обеих) таблиц, чтобы было более понятно:

SELECT * FROM
branch AS branch1 JOIN branch AS branch2 ON (branch1.X=branch2.Y)
WHERE ...

Кроме того, вы можете поместить условие WHERE в само условие соединения:

SELECT * FROM
branch AS branch1 JOIN branch AS branch2 ON (branch1.X=branch2.Y AND branch1.A > branch2.B)

Извините, если вышеприведенное немного расплывчато и не использует ваши точные имена переменных -- Я немного запутался в приведенном выше примере, поэтому, если вы хотите обновить свой вопрос или оставить комментарий, я могу обновить примеры.

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