已采纳回答 / jeffspeeder
原因在于建立表的时候就将type_id 与parent_id 做了关联<...code...>看上面的输出,家用电器和电脑办公的parent_id 为0,而type_id列 没有为0的,所以他们没有父类;大家电和生活电器的parent_id为1,...
2017-01-30
已采纳回答 / LiuKeqing
inner join和left join最后删除的效果是一样的。但这两条sql在执行过程中的原理是不一样的。之所以最后执行的效果相同,是因为where子句把二者查询的不同数据给过滤掉了。inner join的情况下,t2表查到了2条数据,这个结果是子查询 查到的,是固定的。t1表根据连接条件查到了4条数据,在where子句过滤之后就剩下符合条件的两条语句了。left join的情况下,t2表查到了2条数据,和上面的结果是一样的。t1表根据连接条件会将所有的结果都查出来,因为左连接是以t1表为主的。然后,在...
2017-01-17
已采纳回答 / neil_fish
这是因为 g.cate_id = c.cate_id 只是 ON 语句(表连接的条件)。 而在SELECT语句下,并没有选取g.cate_id或者c.cate_id。 所以SQL在内部根据ON连接c和g两张表以后,再提取的列里并不含有cate_id,所以最后是不会查看到这一列的。
2017-01-07
已采纳回答 / JOHN47
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price >= (SELECT ROUND(AVG(goods_price),2) FROM tdb_goods);
2017-01-07
已采纳回答 / 画方为圆
你的问题到底是。写了这个代码为什么只更新第一行的数据还是。如何只更新第一行的数据?如果是问这个代码为什么只更新第一行的数据。因为你这个更新给了WHERE age=26的这个条件。只有满足这个条件的行才会更新,所以就是说。你的第一行也仅仅只有第一行满足这个age=26的这个条件。所以才只会更新第一行
2017-01-06