|
|
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
hi all Вопрос-развлекуха. Никакого практического смысла, просто ради "документирования артефакта". Оказывается, у маздая и оракла разрешено делать union из источников данных, заключенных в скобки: Код: sql 1. 2. 3. 4. 5. 6. 7. Код: plsql 1. 2. 3. 4. 5. 6. 7. У нас же в ответ на что-то подобное: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. - идёт посыл в лес: Код: plaintext 1. 2. 3. 4. 5. Это: 1) кто-то из "больших братьев" грубейшим образом нарушает SQL-стандарт ? *** XOR *** 2) кое-кто из "маленьких но шустрых" чуть-чуть не дотягивает до него ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 19:50:27 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, нафига оно тебе надо? Я не знаю что там говорит стандарт, но по мне скобки здесь не только совершенно не к чему, но и неверны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 19:54:03 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Симонов Дениснафига оно тебе надо? Я не знаю что там говорит стандарт, но по мне скобки здесь не только совершенно не к чему, но и неверны.Да мне-то оно нахрен не нужно, разумеется. Насторожило просто, что не только в маздае такое разрешается . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 19:56:06 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Вот так тоже не работает почему-то: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:17:08 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
NickDee, а должно? Какой смысл вкладывается в эти скобки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:25:00 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
лично моё мнение. Если мы заключаем запрос в скобки, то подразумеваем либо подзапрос, возвращающий одну запись, либо производную таблицу. И то и другое с точки зрения синтаксиса union all недопустимо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:27:21 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Да уж :) Код: sql 1. 2. 3. 4. 5. 6. выводит: 2 1 Код: sql 1. 2. 3. 4. 5. 6. Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 4, column 5. union. Не пойму как люди этим union пользуются... Или они интуитивно не пользуются? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:36:26 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Таблоид> 1) кто-то из "больших братьев" грубейшим образом нарушает SQL-стандарт ? AFAIK, да. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:40:34 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
NickDee>Вот так тоже не работает почему-то: NickDee> select 1 k from rdb$database NickDee>union all NickDee>( NickDee>select 2 k from rdb$database Это мало чем отличается от исходного варианта - было (а) + (b), стало а + (b). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:42:05 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
NickDee> Не пойму как люди этим union пользуются... Доку читают. В отличие от тебя. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:43:25 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамNickDee> Не пойму как люди этим union пользуются... Доку читают. В отличие от тебя. :) Я думал что union соединяет два набора данных. А аказывается есть нюансы :) Естественно в интернетах есть толпы наступивших на грабли... Возможно кстати, что скобочки в MSSQL и ORACLE решают именно вопрос внесения order by в селект: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 21:22:32 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
А вот тут человек говорит, что в других движках скобки используются именно для отделения order by: http://stackoverflow.com/questions/354224/combining-union-all-and-order-by-in-firebird ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 21:28:55 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
NickDee> Я думал что union соединяет два набора данных. Соединяет. Набор данных получают запросом select, а не скобочками. > Возможно кстати, что скобочки в MSSQL и ORACLE > решают именно вопрос внесения order by в селект: Вполне возможно. В случае FB придётся писать полноценный DT, а не только внутренний обрубок. NickDee> А вот тут человек говорит, что в других движках NickDee> скобки используются именно для отделения order by: Где это он там такое говорит? Он там говорит практически противоположное. А вообще, SO удивил, конечно - 4 ответа, и все неправильные. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 23:40:09 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
А с другой стороны: ведь с джойнами можно примерно так же делать, как в исходном посту с юнионами трюк: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Кажись, дело было так: "джойны сделали, а про юнионы забыли" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:18:28 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
есть такое в стандарте. Но было ли во времена ФБ 2.0 - не знаю. Если было, то пропустили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:24:15 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, нефига не так. Вот тебе пример t1 и t2 таблицы пусть даже с одинаковым названием полей и типами столбцов Код: sql 1. 2. можно Код: sql 1. 2. нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:27:31 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
dimitr, о как! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:28:31 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, ну раз ДЕ сказал, что такое есть в стандарте, можешь тикет на улучшение создать. Авось будет свободное время прикрутят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:31:01 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисможешь тикет на улучшение создать. Авось будет свободное время прикрутятКогда я лезу в трекер с улучшениями, то там всегда как-то быстро появляется Шон "Коннери". Странно даже... Так что лучше всего, если ты создашь (без шуток). Но вообще-то, и без этой хрени нормально живётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:43:03 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, дык мне оно не нужно. Я до сегодняшнего дня думал что это вообще не правильно. Даже если сделают, то пользоваться не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:50:17 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
0xFF. я бы все свои тикеты про улучшения променял на одно: 'retrieve table data using index only scan (in both directions :))'. Но это в следующей жизни будет, КМК... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:55:20 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Таблоид0xFF. я бы все свои тикеты про улучшения променял на одно: 'retrieve table data using index only scan (in both directions :))'. Но это в следующей жизни будет, КМК... А как же: - MERGE/HASH JOIN для OUTER JOIN - материлизация для devired tables - HASH GROUP BY Кстати ДЕ говорил, что для ODS 12 это возможно при некоторых условиях (наподобие того как сделали в PG), но в тройке наверное не будет. Может в 3.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 15:20:18 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисА как же: - MERGE/HASH JOIN для OUTER JOIN - материлизация для devired tables - HASH GROUP BY"О-о-о!! я-я, кемска волост! О-о, я, я!" Но они не дадут уменьшения в два раза числа обращений к диску для одного и того же запроса. Разве что материализация, если там есть что материализовывать. Симонов ДенисКстати ДЕ говорил, что для ODS 12 это возможно при некоторых условиях (наподобие того как сделали в PG), но в тройке наверное не будет. Может в 3.1Это в где он так сказал ? Тынц дай, плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 15:27:41 |
|
||
|
union из "derived"-источников (начинаются НЕ с SELECT): что там в стандарте ?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисэто возможно при некоторых условиях не забывай уточнять, что "это" не будет index only scan в чистом виде. Как впрочем и в PGSQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 15:54:33 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38504243&tid=1564047]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
109ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 557ms |

| 0 / 0 |
