Текущий архив: 2008.03.09;
Скачать: CL | DM;
Вниз
Посоветйте книгу по SQL С ЗАДАНИЯМИ Найти похожие ветки
← →
Anatoly Podgoretsky © (2008-02-01 16:41) [40]> isasa (01.02.2008 14:00:07) [7]
WHERE к OUTER JOIN не имеет отношения.
← →
Anatoly Podgoretsky © (2008-02-01 16:41) [41]> Kolan (01.02.2008 14:04:08) [8]
Где здесь OUTER JOIN?
← →
Romkin © (2008-02-01 16:51) [42]Sandman25 (01.02.08 16:40) [39] Что-что?!
Кстати, в [31] явно написан FULL JOIN
← →
Romkin © (2008-02-01 16:55) [43]У меня написано:
<join_type> = [INNER] JOIN | {{LEFT | RIGHT | FULL} [OUTER]} JOIN
Я что-то пропустил? Это где OUTER - аналог LEFT?
← →
Sandman25 (2008-02-01 17:02) [44]Romkin © (01.02.08 16:51) [42]
Точно, я описывал расширение Informix :(
← →
Kolan © (2008-02-01 17:14) [45]> Я что-то пропустил?
Microsoft® SQL Server™ 2000 uses these SQL-92 keywords for outer joins specified in a FROM clause:
LEFT OUTER JOIN or LEFT JOIN
RIGHT OUTER JOIN or RIGHT JOIN
FULL OUTER JOIN or FULL JOIN
:)
← →
isasa © (2008-02-01 17:42) [46]Anatoly Podgoretsky © (01.02.08 16:41) [40]
WHERE к OUTER JOIN не имеет отношения.
:)
Ну в пятницу к вечеру, спорить не стану, но можно вспомнить ORACLE ранних версий, где джоина не было, а был WHERE <key>(+)=<key>.
А так, да, никакого.
← →
antonn © (2008-02-01 18:15) [47]мускл:)
SELECT lm.*, lr.ReadDate FROM `list_mail` lm
LEFT JOIN `list_read` lr ON lm.ID=lr.ID
WHERE lm.ID="123" AND lr.User_ID="321"
посмотреть readdate, если не false (или что там по дефолту) значит прочел :)
← →
Игорь Шевченко © (2008-02-01 18:22) [48]isasa © (01.02.08 17:42) [46]
Собственно и не только в ранних, в 11-ом Оракле тоже. Мне синтаксис с (+) куда как более понятен, чем JOIN-ы
← →
isasa © (2008-02-01 19:25) [49]Игорь Шевченко © (01.02.08 18:22) [48]
Не, ну синтаксическое разделение условий объединения и отбора имеет смысл.
Оно понятнее. Не все в куче. Легче читается. Правда буквочек набирать надо больше ...
Но за все хорошее надо платить. :)
← →
isasa © (2008-02-01 19:29) [50]ГЫ Вспомнился деятель который и в джоин вмостил условие отбора
типа
..
inner join Table on ((masterID=value) and (masterID=detailID))
...
where ....
долго искали :)
← →
ms1 (2008-02-01 19:31) [51]SELECT lm.*, lr.ReadDate
FROM `list_mail` lm
LEFT JOIN `list_read` lr
ON lm.ID=lr.ID
WHERE lm.ID="123" AND lr.User_ID="321"
Правильное оформление ОЧЕНЬ облегчает быстрое чтение
← →
isasa © (2008-02-01 19:34) [52]ms1 (01.02.08 19:31) [51]
Правильное оформление ОЧЕНЬ облегчает быстрое чтение
Я пишу так
SELECT lm.*, lr.ReadDate
FROM `list_mail` lm
LEFT JOIN `list_read` lr ON lm.ID=lr.ID
WHERE lm.ID="123" AND lr.User_ID="321"
← →
Игорь Шевченко © (2008-02-01 19:58) [53]isasa © (01.02.08 19:25) [49]
> Не, ну синтаксическое разделение условий объединения и отбора
> имеет смысл.
> Оно понятнее. Не все в куче. Легче читается. Правда буквочек
> набирать надо больше ...
Так и читать буквочек надо тоже больше...
И потом, я не зря сказал, что мне синтаксис понятен. Я не призываю никого в свою веру - дело привычки. Оракл тоже не призывает - он предоставляет оба варианта записи, с одним лишь исключением - FULL OUTR JOIN плюсиками нельзя записать. Но за все время своего знакомства с Oracle я еще не встречал задачу, где бы мне потребовался FULL OUTER JOIN.
← →
antonn © (2008-02-01 19:59) [54]
> Правильное оформление ОЧЕНЬ облегчает быстрое чтение
мне очень облегчает так, как я написал, ну или [52], а в [51] мешанина...
← →
Anatoly Podgoretsky © (2008-02-01 21:05) [55]> Sandman25 (01.02.2008 16:40:39) [39]
Иногда это одно и тоже для вариантов написания, Outer Join, Join - но это зависит от серверов, что именно выбирается если используется не каноническая формат Left Outer Join
← →
Anatoly Podgoretsky © (2008-02-01 21:06) [56]> isasa (01.02.2008 17:42:46) [46]
Это другая нестандартная форма += и *= вот и гадай что это значит и не ошибись.
← →
Anatoly Podgoretsky © (2008-02-01 21:10) [57]> Игорь Шевченко (01.02.2008 19:58:53) [53]
Бывают, но редко, как и CROSS JOIN
Страницы: 1 2 вся ветка
Текущий архив: 2008.03.09;
Скачать: CL | DM;
Память: 0.57 MB
Время: 0.04 c