В чем разница между JOIN и простым SELECT в MySQL? - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть два mySQL заявления. Первый:

SELECT o.OrderID, c.CustomerName, o.OrderDate
FROM Customers AS c, Orders AS o
WHERE c.CustomerID=o.CustomerID;

Второй:

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

Оба дают одинаковый результат, но второе не содержит ссылки на таблицу Customers в запросе FROM.

Мой вопрос - в чем разница между этими двумя SQL-операторами? В каких случаях я должен использовать JOIN и в каких случаях я должен использовать простой SELECT из двух таблиц?

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

Те JOIN отличаются, хотя результат одинаков.

Первый - CROSS JOIN и добавляет условие в where, что подразумевается CROSS JOIN

Второй - INNER JOIN

Если вы хотите соединить две таблицы, я бы использовал INNER JOIN вместо CROSS JOIN, поскольку цель таблицы inner join более ясна

0 голосов
/ 03 ноября 2018

Они одинаковые, за исключением того, что второй легче читать, поэтому вы должны использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...