表shangpin
spid  spname         classid
1         牙膏             1
2         洗头膏           1
3         沙发             2
------------------------------
表spclass
spclassid      spclassname
1                  洗簌用品         
2                  家具
------------------------------
查询结果是:
---------------------------------------
spid   spname     classid    spclassname
1         牙膏          1        洗簌用品
2         洗头膏         1       洗簌用品
3         沙发          2        家具
-----------------------------------------好像不太复杂,但是我反复弄,弄不出来,查询出来的记录总是多很多。

解决方案 »

  1.   

    select a.spid , a.spname, a.classid,b.spclassname from shangpin a left join spclass b on a.classid=b.spclassid
      

  2.   

    select A.*,B.spclassname
    from shangpin A,spclass B
    where A.classid = B.spclassid
      

  3.   

    我是楼主,我这样写可以吗?select shangpin.spid,shangpin.spname,shangpin.spclassname,spclass.spclassname from shangpin,spclass where shangpin.classid=spclass.spclassid
      

  4.   

    这两种写法貌似都可以,个人习惯用基本的where语法。左连接,右连接的,不太理解,所以平时都不用这个。
      

  5.   

    select *,
    (select spclassname from spclass where spclassid=classid) 
    from shangpin
      

  6.   

    select a.spid,a.spname,a.classid,b.spclassname
    from shangpin a,spclass b
    where a.spid=b.spclassid;