Главная страница
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.03 c
2-1161504506
m-kirill-2003
2006-10-22 12:08
2006.11.05
Имя пользователя


6-1150525928
grisme
2006-06-17 10:32
2006.11.05
Вопрос по WinSock


8-1143789307
Feg16
2006-03-31 11:15
2006.11.05
Вывод потокового звука


15-1161010468
oldman
2006-10-16 18:54
2006.11.05
Вчера вычитал, откуда пошло слово "спам"...


2-1161101504
Golik
2006-10-17 20:11
2006.11.05
Поиск в БД