Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
В книжке Джеймс Грофф, Поль Вайнберг "SQL. Полное руководство". Изд-во BHV, 1999 г. описана инструкция ANSI/ISO SQL92 "расширенный запрос не объединение": Код: plaintext Код: plaintext 1. 2. 3. 4. Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 18:02 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
А чем он отличается от Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 18:38 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
а смысл-то какой в этой конструкции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 18:42 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
Dedushka Mazaiа смысл-то какой в этой конструкции? Узнаю какой - напишу. Смысл постигается в процессе применения конструкций. Вот например в аксессе нет FULL OUTER JOIN - а он очень удобен, например когда есть вот такие таблицы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Я хочу сказать, что чтобы найти все корабли, для которых известны их классы, мне удобно сделать так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 19:48 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
зачем нужен full outer я думаю и так ясно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 20:30 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
MSSQL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 21:02 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
Dedushka Mazai. То, что в Вашей книжке написано, на сегодняшний день является брехней. Расматривается устаревший синтексис. Правильный синтаксис по стандарту SQL-2 - FULL OUTER JOIN, как и ответил funikovyuri. И этот синтаксис MS SQL подерживает (Acccess тоже поддерживает). Возможно, в 1992 году, когда была написана книжка, и не поддерживал. Кстати, этот вид объединения мне на практике довелось использовать только один раз. А ваш запрос, на самом деле должен выглядеть так. Причем, я предполагаю, что Вас интересуют только корабли из таблы Outcomes. Кстати, не надо надеятся на имя корабля, как на ключевое поле. Имя может менятся. Лучше использовать суррогатный ключ. И уж во всяком случае, надо использовать одинаковые названия полей. Шип, так Шип, Нэйм, так Нэйм. Но одинаково во всех таблицах! Ваш запрос (если Вы правильно сформулировали то, что Вам нужно) Select * from Outcomes as O join Ships as S on S.name=O.Ship join classes as C on C.class=S.class =============== на самом деле, Вам нужно было задать свой вопрос в форуме по соответсвующему серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 21:17 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
Cat2Dedushka Mazai. То, что в Вашей книжке написаноМожет я что-то не понял, но где он упоминал какую-либо книжку ? Напраслиной отдает... Cat2 на сегодняшний день является брехней. Расматривается устаревший синтексис.Вы про пример из первого поста Blob ? А почему брехня и устаревший ? авторПравильный синтаксис по стандарту SQL-2 - FULL OUTER JOIN, как и ответил funikovyuri.К сожалению, Вы не правы. FULL OUTER JOIN не является эквивалентом UNION JOIN и наоборот, хотя при определенных условиях их результаты могут совпадать. FULL OUTER JOIN имеет пункт ON, UNION JOIN нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2004, 03:06 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
Blob RIGHT OUTER JOIN Classes ON Outcomes.Ship = Classes.Class OR Ships.Class = Classes.Class[/src] Вношу поправочку, если брать эту БД с кораблями, то для нахождения всех кораблей, чьи классы известны, нужен не RIGHT, а INNER JOIN. Погорячился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2004, 11:14 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
Cat2Dedushka Mazai. То, что в Вашей книжке написано, на сегодняшний день является брехней. Причем, я предполагаю, что Вас интересуют только корабли из таблы Outcomes. Select * from Outcomes as O join Ships as S on S.name=O.Ship join classes as C on C.class=S.class 1) Как такие уважаемые дяди, как Грофф, могут заниматься брехнёй? Кстати в данной книжке описывается именно SQL стандарта ANSI/ISO92. Думаю, что вы заблуждаетесь, говоря, что UNION - устаревший синтаксис, а FULL - нет. Просто это разные вещи. FULL - полное внешнее, а UNION - простое объединение, ему нельзя приписать условие отбора ON. Мне просто любопытно было, есть ли СУБД, где синтаксис UNION JOIN допустим. 2) Я наверное плохо сформулировал. Интересуют корабли и из Ships, и из Outcomes. Причём из Outcomes те, чъё имя совпадает с именем класса из Classes. Так что запрос должен возвращать то, что у меня. 3) А какой у вас Аксесс? У меня Access2000, и не поддерживает FULL OUTER. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2004, 11:51 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
Alexey KudinovMSSQL Код: plaintext 1. 2. 3. 4. 5. 6. Да, возможно такой запрос имеет большее практическое значение. Но если всё-таки где-то есть UNION JOIN, думаю, что он возвращает то же, что и у funikovyuri. ИМХО, если UNION, то никакие условия отбора не должны срабатывать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2004, 12:14 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
2 cat2: за что, Герасим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 13:15 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
Ну еще как вариант :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 14:05 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
BlobВ книжке Джеймс Грофф, Поль Вайнберг "SQL. Полное руководство". Изд-во BHV, 1999 г. описана инструкция ANSI/ISO SQL92 "расширенный запрос не объединение": Код: plaintext А какая СУБД поддерживает эту инструкцию? MS SQL насколько я понял нет. А может я неправильно законспектировал синтаксис? У меня нет под рукой спецификации SQL92, но в более поздних версиях стандарта такой конструкции нет, насколько я в курсе. Поэтому ее никто и не поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 14:38 |
|
||
|
В какой СУБД есть "расш. запрос на объединение"
|
|||
|---|---|---|---|
|
#18+
funikovyuriНу еще как вариант :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Круто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 17:59 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32761815&tid=1554016]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 185ms |
| total: | 334ms |

| 0 / 0 |
