Какое ключевое слово, как в SQL действительно указывают

1: вот SQL-запрос, который я нахожу в книге

 select distinct T.branch_name
        from branch as T, branch as S
        where T.assets > S.assets and
        S.branch_city = 'Brooklyn'

то, что я смущен, T и S, оба указывают на правильную ветвь таблицы? почему они используют T.assets>S.assets, это так же, как branch.asset > branch.asset какая разница.

2: смысл следующего запроса: "Найти всех клиентов, которые имеют учетную запись во всех филиалах, расположенных в Бруклине" вопрос 2

Но я не получил это как-то, также бороться с ключевым словом, как

1 ответ

Решение

Думайте о коде так:

for (i=0; i<10; ++i)
    for (j=0; j<10; ++j)
        print i, j

Как я и j не могут быть одинаковыми значениями? Легко - они оба зацикливаются на одном и том же наборе значений от 0 до 9, но на каждой итерации цикла они имеют разные значения в этом диапазоне целых чисел.

Это похоже на псевдонимы таблиц. Думайте о соединении как этот вид вложенного цикла. Каждый раз, когда соединяются две строки, S и T являются именами корреляции (это технический термин), которые ссылаются на одну строку за раз в вашем branch Таблица.

Другие вопросы по тегам