Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.10.2004, 18:02
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#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:38
|
|||
|---|---|---|---|
|
|||
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
А чем он отличается от Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.10.2004, 18:42
|
|||
|---|---|---|---|
|
|||
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
а смысл-то какой в этой конструкции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.10.2004, 19:48
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#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, 20:30
|
|||
|---|---|---|---|
|
|||
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
зачем нужен full outer я думаю и так ясно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.10.2004, 21:02
|
|||
|---|---|---|---|
|
|||
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
MSSQL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.10.2004, 21:17
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#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 =============== на самом деле, Вам нужно было задать свой вопрос в форуме по соответсвующему серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.10.2004, 03:06
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#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, 11:14
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
Blob RIGHT OUTER JOIN Classes ON Outcomes.Ship = Classes.Class OR Ships.Class = Classes.Class[/src] Вношу поправочку, если брать эту БД с кораблями, то для нахождения всех кораблей, чьи классы известны, нужен не RIGHT, а INNER JOIN. Погорячился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.10.2004, 11:51
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#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, 12:14
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2004, 13:15
|
|||
|---|---|---|---|
|
|||
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
2 cat2: за что, Герасим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2004, 14:05
|
|||
|---|---|---|---|
|
|||
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
Ну еще как вариант :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2004, 14:38
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
BlobВ книжке Джеймс Грофф, Поль Вайнберг "SQL. Полное руководство". Изд-во BHV, 1999 г. описана инструкция ANSI/ISO SQL92 "расширенный запрос не объединение": Код: plaintext А какая СУБД поддерживает эту инструкцию? MS SQL насколько я понял нет. А может я неправильно законспектировал синтаксис? У меня нет под рукой спецификации SQL92, но в более поздних версиях стандарта такой конструкции нет, насколько я в курсе. Поэтому ее никто и не поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2004, 17:59
|
|||
|---|---|---|---|
В какой СУБД есть "расш. запрос на объединение" |
|||
|
#18+
funikovyuriНу еще как вариант :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Круто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=35&tablet=1&tid=1554016]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 393ms |

| 0 / 0 |
