У меня есть 2 таблицы заказов и клиентов с данными как:Inner/Outer заспорить в MySQL
mysql> select * from orders;
+---------+----------------+----------+-------+
| orderid | product | customer | price |
+---------+----------------+----------+-------+
| 292 | sofa | 101 | 6000 |
| 293 | table | 105 | 3000 |
| 294 | table | 104 | 1450 |
| 295 | table | 101 | 1200 |
| 296 | chair | 103 | 800 |
| 297 | dressing table | 104 | 9000 |
| 298 | corner | 102 | 1000 |
| 299 | corner | 102 | 900 |
| 300 | bed | NULL | NULL |
| 301 | door | NULL | NULL |
+---------+----------------+----------+-------+
10 rows in set (0.00 sec)
mysql> select * from customers;
+--------+----------+-----------+
| custid | name | location |
+--------+----------+-----------+
| 101 | jaspreet | New delhi |
| 102 | harpreet | Jalandhr |
| 103 | surjit | Amritsar |
| 104 | harneet | ludhiana |
| 105 | hashar | New Delhi |
| 106 | harneet | NULL |
+--------+----------+-----------+
6 rows in set (0.00 sec)
Когда я бегу внутреннее соединение, она возвращает следующие данные:
mysql> select orders.orderid,customers.name from orders inner join customers where orders.customer=customers.custid;
+---------+----------+
| orderid | name |
+---------+----------+
| 292 | jaspreet |
| 295 | jaspreet |
| 298 | harpreet |
| 299 | harpreet |
| 296 | surjit |
| 294 | harneet |
| 297 | harneet |
| 293 | hashar |
+---------+----------+
8 rows in set (0.00 sec)
но внешняя joins не работают над этим.
mysql> select orders.orderid,customers.name from orders left join customers where orders.customer=customers.custid;
ERROR 1064 (42000): У вас ошибка в вашем SQL синтаксиса; проверить руководство, которое соответствует Вашей версии сервера MySQL для синтаксиса право использовать п ухо «где orders.customer = customers.custid» в строке 1
Может кто-то помочь мне с этой концепцией?
Заранее спасибо
Явное использование слова 'join' требует слово' on' для замены 'where' – Rugal