Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / union all select dictinct / 7 сообщений из 7, страница 1 из 1
17.01.2020, 16:45
    #39915545
union all select dictinct
Здравствуйте волшебники!
увидела в работающем запросе такую связку:
union all select dictinct
оно работает хотя бы потому, что all и dictinct как бы "самоуничтожают"друг друга ? или эта связка обозначает что-то другое?
коллега в отпуске и больше спросить некого
...
Рейтинг: 0 / 0
17.01.2020, 16:47
    #39915546
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
union all select dictinct
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
select distinct 
	*
from (
	select  1 as a 
	union all 
	select 1 as a 
) 
a 
union all 
select distinct
	*
from (
	select  1 as a 
	union all 
	select 1 as a 
) a 


select *
from (
	select  1 as a 
	union all 
	select 1 as a 
) 
a 
union 
select 
	*
from (
	select  1 as a 
	union all 
	select 1 as a 
) a 
...
Рейтинг: 0 / 0
17.01.2020, 16:52
    #39915548
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
union all select dictinct
Оленька_учусь
оно работает хотя бы потому, что all и dictinct как бы "самоуничтожают"друг друга ? или эта связка обозначает что-то другое?
Оно работает потому, что синтаксически верно.
union select distinct - глупость.
union all select distinct - в принципе имеет смысл. А вот какой именно, знает ваш коллега.
...
Рейтинг: 0 / 0
17.01.2020, 16:55
    #39915554
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
union all select dictinct
Оленька_учусь,

ALL при объединении не исключает повторяющиеся строки.
...
Рейтинг: 0 / 0
21.01.2020, 19:11
    #39916946
entrypoint
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
union all select dictinct
Оленька_учусь,

Выражение

Код: sql
1.
2.
3.
select distinct ... from table
union all
...



имеет смысл в рекурсивных CTE, в случае когда UNION использовать нельзя
...
Рейтинг: 0 / 0
21.01.2020, 19:37
    #39916964
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
union all select dictinct
Оленька_учусь
union all select dictinct
оно работает хотя бы потому, что all и dictinct как бы "самоуничтожают"друг друга ?

Что за бред? Что ещё за самоликвидация?

Это выглядит так:

Код: sql
1.
2.
3.
( SELECT ... )
UNION ALL
( SELECT DISTINCT ... )



Т.е. DISTINCT применяется к набору записей отдельного подзапроса, тогда как UNION ALL - к результату объединения наборов записей подзапросов.
...
Рейтинг: 0 / 0
22.01.2020, 08:02
    #39917105
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
union all select dictinct
Самоликвидация -- это стандартная концовка фильмов и игр про чужого, а sql работает вот так.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT A FROM (VALUES(1),(2),(3),(4)) A(A)
UNION ALL 
SELECT A FROM (VALUES(1),(2),(2),(4)) A(A)


SELECT A FROM (VALUES(1),(2),(3),(4)) A(A)
UNION ALL 
SELECT DISTINCT A FROM (VALUES(1),(2),(2),(4)) A(A)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / union all select dictinct / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]