Что присоединяется к столу на некоторых выбранных столбцах, технически названных?

Select t1.column1,t1.column2,t2.column1,t2.column2 from table1 t1 
join (select column1,min(column2) from table2 group by column1) t2
On table1.column1 = table2.column1

Присоединение к столам на некоторой избранной колонке от другого стола, а не целого стола.

Чем это технически называют? Это называют вопросом sub?

0
nl ja de
I' ve всегда просто назвал его подвопросом [внутренний | внешний | и т.д.] соединение, с тех пор that' s точно, каково это, I' m не знающий о концептуальном имени за пределами этого.
добавлено автор RandomUs1r, источник

3 ответы

Да, это - подвопрос.

Это могло также быть написано как:

Select t1.column1,
    t1.column2,
    t2.column1 
from table1 t1 
join table2 t2
    On t1.column1 = t2.column1

Так как вы только используете подвопрос, чтобы возвратить одну колонку, и вы не используете совокупность или некоторую другую операцию, я не использовал бы подвопрос в той ситуации. Если вы хотите использовать агрегатную функцию, то иногда легче использовать подвопрос из-за использования группа :

Select t1.column1,
    t1.column2,
    t2.column1 
from table1 t1 
join
(
    select column1, MAX(date) MaxDate
    from table2
    group by column1
) t2
    On t1.column1 = t2.column1
1
добавлено
@Abhishekkumar там - времена, которыми подвопрос полезен, особенно применяя совокупности и группу. посмотрите, что мой редактировать
добавлено автор Taryn, источник
@Abhishekkumar Это - просто соединение. Чтобы быть точным, я использую ВНУТРЕННЕЕ ОБЪЕДИНЕНИЕ на столе и подвопросе
добавлено автор Taryn, источник
Я думаю, что написал его проще. Но я просто хотел знать имя. Я хочу добавить (выберите customer_nme из потребительской группы customer_nme), t2
добавлено автор Abhishek kumar, источник
@bluefeet-the внутренний вопрос можно назвать вопросом sub, но это соединение называют простым соединением, или у этого есть некоторое другое техническое имя?
добавлено автор Abhishek kumar, источник
+1 для дополнительного синтаксиса
добавлено автор Adam Wenger, источник
действительно необходимо быть осторожными с подвопросами, хотя, потому что они могут повлиять на работу способами, которые являются not' t всегда очевидный.
добавлено автор Ian McMahon, источник

То, что вы по существу делаете, присоединяется согласно анонимному представлению. Вообразите вместо этого, что вы сделали:

create view t2 as select column1 from table2

select t1.column1, t1.column2, t2.column1 from table1 t1 join t2 on t1.column1 = t2.column2

Это - в основном то же самое.

1
добавлено
анонимное представление . That' s прохладный.
добавлено автор Hamlet Hakobyan, источник

Это называют "внутренним equi-соединением", потому что условие объединения - равенство. Я не уверен, что вы подразумеваете "под некоторой избранной колонкой от другого стола, а не целого стола". Соединения обычно используют только одну или две колонки между столами. Колонки, как правило - или первичные ключи или внешние ключи.

Этот вопрос просто получает самую маленькую стоимость table2.column2 для каждой ценности table1.column1 и отфильтровывающий любые значения table1.column1 , которые не находятся в table2 . Нет действительно специальной фразы для точно этого типа соединения.

0
добавлено
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)