Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Вниз

~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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.05 c
15-1160759448
Raeaz
2006-10-13 21:10
2006.11.05
Halt


2-1161186419
Tab
2006-10-18 19:46
2006.11.05
Создание классов


2-1161266939
Incognito
2006-10-19 18:08
2006.11.05
Форма в правом нижнем углу


11-1137563827
L`Autour
2006-01-18 08:57
2006.11.05
CopyMoveFiles in KOL v2.22


2-1161531049
n0name
2006-10-22 19:30
2006.11.05
Delphi + DLL + printf = magic?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский