MySQL学习笔记(多表操作)

一:
多表更新:
UPDATE tdb_references SET col_name1={expr1|DEFAULT}
[,col_name2={expr2|DEFAULT}] … [WHERE where_condition]
例:UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate = cate_name SET goods_cate = cate_id;
//如果ON后面的字段名是相同的,需要为表起别名;
连接:MySQL在SELECT语句,多表更新,多表删除语句中支持JOIN操作。
例:SELECT goods_id,goods_name,cate_name FEOM tdb_goods INNER JOIN tdb_goods_cates ON tdb_goods.cate_id = tdb_goods_cates.cate_id;
SELECT goods_id,goods_name,cate_name,brand_name,goods_price FROM tdb_goods AS g //给表起别名
INNER JOIN tdb_goods_ctaes AS c ON g.cate_id = c.cate_id
INNER JOIN tdb_goods_brands AS b ON g.brand_id = b.brand_id;
二;
连接类型:
INNER JOIN(内连接)
在MySQL中,JOIN,CROSS JOIN和INNER JOIN是等价的;//两个表的交集
LEFT[OUTER] JOIN 左外连接 //左表中的全部和右表中符合条件的
例:
A LEFT[OUTER] JOIN B join_condition
表示数据表B的结果集依赖数据表A,即数据表A中有的数据才能在数据表B的结果集中显示出来。
RIGHT[OUTER] JOIN 右外连接 //右表中的全部和左表中符合条件的
连接条件:
使用ON关键字来设定连接条件,也可以使用WHERE来代替。
通常使用ON关键字来设定连接条件,使用WHERE关键字进行结果集记录的过滤
三:
无限级分类表设计:
通过为每一行的数据设置其parent_id,如最顶级分类的parent_id设置为0,然后其子分类为i1,而子分类又有子分类,子子孙孙无穷尽也。这就是无限级分类表。
无限级分类表查询问题解决方案:自身连接
同一个数据表对其自身进行连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值