Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > JOINы в SQL


Автор: spx 3.3.2006, 09:21
доброго всем дня!
разъясните, пожалуйста, всю силу JOINов языка. В чем приемущество перед SELECT и отличия left, outer, cross и др.
Искал в Интернете - ничего толкового не нашел, точнее нашел, но очень мало и совсем без комментариев.
Хотелось бы увидеть несложные примеры по этой теме. Вот и прошу вашей помощи smile

Автор: ТоляМБА 3.3.2006, 14:57
Цитата(spx @ 3.3.2006, 09:21 Найти цитируемый пост)
Искал в Интернете

А ты на Винграде ищи:
http://forum.vingrad.ru/index.php?showtopic=5638&view=findpost&p=40346 Пегас хорошо описал. Ну если что - вот пример:
1-я таблица: Детали. Поля: Деталь, количество
2-я таблица: Расценки. Поля: Деталь, стоимость изготовления.
Если сделать запрос:
Код

Select Детали.Деталь, Детали.количество*Расценки.стоимость изготовления as Общая сумма
From Детали Inner Join Расценки on
Детали.Деталь=Расценки.Деталь
Он выведет все детали, которые есть В ОБОИХ таблицах.
Но нам например надо вывести ВСЕ детали из таблицы детали, и соответственно цены из таблицы Расценки:
Код

Select Детали.Деталь, Детали.количество*Расценки.стоимость изготовления as Общая сумма
From Детали Left Outer Join Расценки on
Детали.Деталь=Расценки.Деталь
А у тех деталей, которых нет в таблице Расценки в поле Общая сумма будет стоять <NULL>



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)