SELECT * FROM Таблица1, Таблица2 WHERE Условие1, Условие2
нет, во втором примере же джоин. Но это мое имхо новичка) Вам что надо сделать?
Объединить несколько таблиц в один запрос
Первый запрос выполнить возможно. Он выведет кучу несистематизированной информации из двух таблиц, которую даже невозможно будет использовать. Потому что все значения будут неуникальны и непонятно, что откуда.
А вот джойнить две таблицы получится только по условию. Например так:
SELECT * FROM Таблица1 INNER JOIN Таблица2 ON Таблица1.id = Таблица2.user_id
А вообще проще присвоить таблицам элиасы и оперировать ими. Результаты запросов тогда будут вполне вменяемыми и их можно применять.
Примеры:
SELECT * FROM table1 a, table2 b WHERE a.id = b.user_id AND b.id > 7
SELECT * FROM table1 a INNER JOIN table2 b ON a.id = b.user_id WHERE b.id > 7
А вообще, вру.
Первый запрос выведет результаты из обоих таблиц, а второй — только из первой.
================================================
Включите отладку в админке и ткните в футере в кнопку "Отладка". Там полно примеров таких запросов. Например:
SELECT i.*, w.controller AS controller, w.name AS name FROM cms_widgets_bind i FORCE INDEX (page_id) INNER JOIN cms_widgets AS w ON w.id = i.widget_id WHERE (i.template = 'tseso') AND (i.is_enabled IS NOT NULL) AND (i.page_id IN ('0','151','152')) ORDER BY i.page_id, i.position, i.ordering LIMIT 1000
ВаленокPC,
Первый запрос выполнить возможно. Он выведет кучу несистематизированной информации из двух таблиц, которую даже невозможно будет использовать. Потому что все значения будут неуникальны и непонятно, что откуда.
А вот джойнить две таблицы получится только по условию. Например так:
И результаты этого запроса уже вполне можно как-то использовать.
SELECT * FROM Таблица1 INNER JOIN Таблица2 ON Таблица1.id = Таблица2.user_id
А вообще проще присвоить таблицам элиасы и оперировать ими. Результаты запросов тогда будут вполне вменяемыми и их можно применять.
Примеры:
аналогично этому:
SELECT * FROM table1 a, table2 b WHERE a.id = b.user_id AND b.id > 7
================================================
SELECT * FROM table1 a INNER JOIN table2 b ON a.id = b.user_id WHERE b.id > 7
А вообще, вру.
Первый запрос выведет результаты из обоих таблиц, а второй — только из первой.
Спасибо!
Потыкайте в упражнения вот тут:
www.sql-ex.ru/learn_exercises.php
У меня за полдня пришло примерное понимание, что к чему в эскуеле.
www.skillz.ru/dev/php/article-Obyasnenie_SQL_obedinenii_JOIN_INNER_OUTER.html