SELECT * FROM `product` left join category on product.category_id = category.id
This query works fine. But the problem is, both the product table a
I had a similar problem working with MySQL in a Node.js project.
I found that if you still want to use select * instead of listing out all columns and using an alias, the following works:
SELECT *, category.id AS cId, category.name AS cName
FROM product LEFT JOIN category ON product.category_id = category.id
In other words, just create aliases for the joined columns that have conflicting names. You don't need aliases on other columns or on the table names.