连接查询相比子查询的优势

在设计鲜花网数据库的时候,有一张表是鲜花信息表flower

该表里有名称fname,图片地址index_picture,市场价price,优惠价yourprice,鲜花id号flowerID

还有一张表是购物车信息表

该表里的字段有用户MemberId,鲜花id号FlowerId,鲜花数量FlowerNum

现在要选出某个用户的购物车里所有鲜花的名称,图片地址,市场价,优惠价,鲜花数量

如下图所示

连接查询相比子查询的优势_第1张图片


sql语句为

 function get_Cart_Goods($username){
          $sql="select index_picture,fname,price,yourprice,FlowerNum from flower f,shoppingcart s where f.flowerID=s.FlowerId and s.MemberId='$username'";
          return $this->query($sql);
      }


表shoppingcart要输出鲜花数量,表flower要输出鲜花的名称,图片地址,市场价,优惠价

由于两张表都要输出数据,所以不能用子查询,只能用连接查询。

表flower和shoppingcart都有共同的列flowerid,根据这个共同的列,在where子句里使用等号(=)进行连接。

将两表中列值相等的数据行进行输出。

同时我们不要忘了在表shoppingcart中还有限制条件,所以在where子句中加上and s.MemberId='$username'


你可能感兴趣的:(数据库)