Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: LEFT JOIN
 
 автор: Евгений Петров   (18.01.2006 в 15:30)   письмо автору
 
 

Встретил запрос такого вида:
"SELECT * FROM cms_news LEFT JOIN cms_news_cat USING (catid) ORDER BY newsid DESC LIMIT $conf[npagcol]"

По идее он должен выводить последние npagcol новостей из таблицы cms_news. Подскажите что значит LEFT JOIN и USING? Заранее большое спасибо!

   
 
 автор: cheops   (18.01.2006 в 15:53)   письмо автору
 
   для: Евгений Петров   (18.01.2006 в 15:30)
 

JOIN - это просто запятая, т.е. следующие запросы эквивалентны
SELECT * FROM cms_news JOIN cms_news_cat
SELECT * FROM cms_news, cms_news_cat

USING (catid) эквивалентен ON cms_news.catid = cms_news_cat.catid ON - это тоже условие WHERE только для объединяемых таблиц в много табличном запросе. Всем хорошо объединение записей, но когда условие cms_news.catid = cms_news_cat.catid не выполняется для записи - она не попадает в результирующую таблицу, например, есть у нас новости в таблице cms_news, а они могут сопровождаться рисунками, которые храняться в cms_news_cat, а могут не сопровождаться. Так вот при использовании обычного перекрётного объединения JOIN в результирующую таблицу попадут только те записи у которых есть картинки, те что без картинок не попадут, так как не будет выполняться условие cms_news.catid = cms_news_cat.catid. Вот для этого и придумали LEFT JOIN - он требует вывести все записи таблицы cms_news, даже которым нет соответствия в условии ON (ну в данном случае USING).

   
 
 автор: Евгений Петров   (18.01.2006 в 16:26)   письмо автору
 
   для: cheops   (18.01.2006 в 15:53)
 

Огромное спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования