|
|
|
| Объясните пожалуйста, что это за JOIN такой? Не, я понимаю, что используется при выборке из двух и более таблиц связанных каким-то общим полем, но не понимаю смысла. Т.е. например соседняя тема http://softtime.ru/forum/read.php?id_forum=3&id_theme=84391 решилась запросом
SELECT id,parent_id,lng,title FROM `cms_obj` ob LEFT OUTER JOIN `cms_obj_title` ob_t ON (ob.id = ob_t.obj_id) AND (ob_t.lng='rus')
| но почему нельзя было просто выбрать из двух таблиц:
SELECT * FROM `cms_obj`,`cms_obj_title` WHERE `cms_obj`.`id` = `cms_obj_title`.`obj_id` AND `cms_obj_title`.`lng`='rus'
| Разве результат не аналогичный?
И что это за разделения INNER JOIN, RIGHT OUTER JOIN и т.п.... На что оно влияет? | |
|
|
|
|
 143.9 Кб |
|
|
для: Sfinks
(15.01.2012 в 00:07)
| | На что оно влияет?
на результат выборки... | |
|
|
|
|
|
|
|
для: Valick
(15.01.2012 в 03:29)
| | Нарисовано интересно. Но мне словами понятнее....
Попробовал описать, не смог однозначно сформулировать.
Может на примерах? Допустим есть таблицы:
--------------------
| id_tbl_A | value |
--------------------
| 1 | 100 |
| 2 | 226 |
| 3 | 318 |
| 4 | 111 |
| 5 | 915 |
--------------------
| и
-------------------------------
| id_tbl_B | id_tbl_A | value |
-------------------------------
| 1 | 1 | 12 |
| 2 | 3 | 21 |
| 3 | 5 | 40 |
| 4 | 7 | 56 |
| 5 | 9 | 68 |
| 6 | 3 | 12 |
| 7 | 9 | 26 |
-------------------------------
| Хотя они и не логичны, но допустим что есть.
И что выберут примеры изображенные на картинке? | |
|
|
|
|
|
|
|
для: Sfinks
(15.01.2012 в 00:07)
| | Запятая это один из частных случаев ключевого слова JOIN, в общем можете вместо запятой подставить JOIN и будет тоже самое. | |
|
|
|