Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

~OUTER ~ INNER JOIN   Найти похожие ветки 

 
+JOIN+   (2006-10-20 12:01) [0]

Здравствуйте мастера.
Помогите понять пожалуйста, чем отличаются следующие операторы:

OUTER JOIN
LEFT OUTER JOIN
INNER JOIN


Я видел их в работе, но так и не могу понять принцип каждого из них.
(в мануалах которые у меня есть, я не смог найти описание этих команд)

Спасибо.


 
Anatoly Podgoretsky ©   (2006-10-20 12:11) [1]

Первые два левое внешнее соединение, а последнее внутреннее.
Советую почитать что ни будь по теории баз данных, например Дейта.


 
Плохиш ©   (2006-10-20 12:19) [2]

Я бы его ближе послал в Localsql.hlp :-)


 
Desdechado ©   (2006-10-20 12:21) [3]

Внешнее объединение дает возможность содеинять таблицы так, что в одной из них может не быть соответствия конкретному значению в другой таблице по соединяемым полям.
Внутреннее обязывает эти значения быть в обеих таблицах, иначе в результат выборки они не попадут.


 
+JOIN+   (2006-10-20 12:31) [4]

> [3] Desdechado ©   (20.10.06 12:21)

Спасибо.
А наличие оператора <LEFT>  в OUTER JOIN играет какую-нибудь роль?


 
Anatoly Podgoretsky ©   (2006-10-20 12:34) [5]


> Я бы его ближе послал в Localsql.hlp :-)

Рано и опасно, нахватется верхов и будет постоянно приходить на форум с жалобой. Надо все таки теорию изучать в первую очередь, SQL во вторую и уж только в третью конкретный синтаксис.


 
Anatoly Podgoretsky ©   (2006-10-20 12:36) [6]


> А наличие оператора <LEFT>  в OUTER JOIN играет какую-нибудь
> роль?

Играет, но это как раз в третью очередь, системно зависимо, но как правило это LEFT


 
ЮЮ ©   (2006-10-20 12:39) [7]

Наличие OUTER при наличии LEFT роли не играют.

Для INNER JOIN достатточно просто JOIN
Для OUTER JOIN указать какое, само OUTER опустить

a LEFT JOIN b
 все записи из а, а из b - как придется
a RIGHT JOIN b
 все записи из b, а из a - как придется. На практике не использую, т.к. связываю таблицы слева -направо

a
[LEFT] JOIN b ON ...
[LEFT] JOIN c ON ...
,,,

a FULL JOIN b
 итоге будут все записи из а и b, а соответствуюшие им - как придется

как придется - означает, что вернутся NULL-евые поля таблицы, если соответствующих записей в ней нет


 
Desdechado ©   (2006-10-20 12:40) [8]

LEFT или RIGHT означает только сторону в операторе соединения, которая быть обязана, вторая может не быть


 
+JOIN+   (2006-10-20 12:44) [9]

Спасибо всем.



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.059 c
2-1161541388
Officeman
2006-10-22 22:23
2006.11.05
ST := StringReplace(TOVAR, &amp;amp; , &amp; , [frReplaceAll]); ???


3-1157968378
Neo Trinitron
2006-09-11 13:52
2006.11.05
MS Jet 4 и вложенные транзакции


15-1160658233
Tigraman
2006-10-12 17:03
2006.11.05
Проблема с сетью


15-1161095946
Игорь ЖАКО
2006-10-17 18:39
2006.11.05
Ehlib 3.6 требует запуска IDE


2-1161456604
simona4
2006-10-21 22:50
2006.11.05
база глючит на других компах