如何从两个表中获取所有数据?

时间:2012-07-06 09:53:30

标签: mysql

我有两张桌子

1.产品

prod_id   prod_name
   1       honda
   2       hero
   3       marcedes
   4       audi

2.产品类别

cat_id  prod_id
  1         1
  1         2
  2         3
  2         4

现在我想要下面的结果

prod_id    prod_name    cat_id
   1         honda        1
   2         hero         1
   3         marcedes     2
   4         audi         2

我似乎无法弄清楚这一点。任何帮助非常感谢!

5 个答案:

答案 0 :(得分:5)

select products.*, category.cat_id 
from products, category 
where products.prod_id = category.prod_id   

答案 1 :(得分:2)

select products.prod_id ,products.prod_name, category.cat_id 
from products, category 
where category.prod_id  = products.prod_id

答案 2 :(得分:2)

select p.prod_id,p.prod_name,c.cat_id 
from Products p inner join category c 
on p.prod_id = c.prod_id   

答案 3 :(得分:0)

如果您只希望产品具有cat_id,只需使用加入,然后将LEFT JOIN更改为INNER JOIN

SELECT t1.prod_id, t1.prod_name, t2.cat_id
FORM Products t1
LEFT JOIN ProductToCategory t2 ON t1.prod_id = t2.prod_id

答案 4 :(得分:0)

选择p.prod_id,p.prod_name,c.catid
来自产品p
p.prod_id = pc.prod_id

上的内连接prodtocat pc