mysql数据库的连接查询

pn9klfpd  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(286)

这个问题在这里已经有答案了

不使用select*的原因是什么(20个答案)
两年前关门了。
我想实现一个表的完整列表和两个不同的名称,从另一个表中,第一个表二id与另一个表二id匹配。我的问题是:

$sql = 
      "select 
           ls.id, ls.cat_id, ls.sub_id, rs.cat_name, lh.sub_cat_name, 
           ls.prod_name, ls.price, ls.availability, ls.description, ls.img_1, 
           ls.img_2, ls.img_3,ls.img_4, ls.img_5, ls.img_6, ls.img_7, ls.img_8, 
           ls.img_9, ls.img_10, ls.prod_order, ls.type 
         from product as ls 
         left join category as rs on rs.id = ls.cat_id 
         left join subcategory as lh on lh.id = ls.sub_id 
         where ls.id ='".$pid."'";

所以查询工作正常。所以我的问题是,这可以规范化为长度更短的查询吗?

oo7oh9g9

oo7oh9g91#

你的问题

select

**

  ls.id,
  ls.cat_id,
  ls.sub_id,
  rs.cat_name,
  lh.sub_cat_name,
  ls.prod_name,
  ls.price,
  ls.availability,
  ls.description,
  ls.img_1,
  ls.img_2,
  ls.img_3,
  ls.img_4,
  ls.img_5,
  ls.img_6,
  ls.img_7,
  ls.img_8,
  ls.img_9,
  ls.img_10,
  ls.prod_order,
  ls.type

**

from product as ls 
  left join category as rs
    on rs.id = ls.cat_id
  left join subcategory as lh
    on lh.id ls.sub_id
where ls.id = {$pid};

因此粗体(括在****中)字符可以替换为ls.*表示表中的所有属性都已被选中,因此查询看起来像

select
  ls.*
from product as ls 
  left join category as rs
    on rs.id = ls.cat_id 
  left join subcategory as lh
    on lh.id = ls.sub_id 
where ls.id ='".$pid."'";

相关问题