Mysql如何多表连接查询
Mysql数据库是web开发中最常用的数据库之一,mysql多表查询是开发人员必备的技能,本期就教大家如何双表连接查询以及三表连接查询
操作方法
- 01
我有一张表名为sc_comd的表和sc_detail的表,其中sc_comd存放商品名称和商品封面图片以及所属分类等信息,我的sc_detail表存放商品详情信息,包括商品的价格、商品详情图片、商品简介,那么接下来我要将两张表通过对应id连接起来。
- 02
我的商品表
- 03
我的商品详情表
- 04
内连接: select oid ,oname,doid,shopname,jiage from sc_comd inner join sc_detail where sc_comd.oid=sc_detail.doid; 大家可以看到sql语句执行成功,也显示出了对应商品详情
- 05
仅掌握两张表在连接查询在实际开发中是不够的,送佛送到西,那么接下我就教大家如何三张连接查询,不巧,我这里正好还有张分类表
- 06
三张表接合查询: select oid,oname,shopname,jianjie,jiage,cal.cname as cson,sc_cal.cname as adclass from sc_comd join sc_detail on sc_comd.oid=sc_detail.doid join sc_cal on sc_comd.adclass=sc_cal.cid join sc_cal as cal on sc_comd.cson=cal.cid; 执行结果如下
- 07
最后,我们来分析下原理,从select到from之间是要些显示的字段,你可以 根据自己需求来填写,比如大家都知道Mysql单表查询是这样的:select*from tables;其中*代表所有字段。 还有就是连接条件,俩张表或三张表直接的连接条件一定要一致或者要对应,按照一定的规则来连接,至于这个规则是怎么样的,那完全是由你自己定的,如果以后你的上司给你项目中有需求出现要四张表连接查询或者五、六张表连接查询,那么只需按照三张表这个连接规则以此类推写下去即可。 最后再罗嗦一句,在你想要让程序、数据库实现或展现某个功能之前,先把逻辑推理好,抽象出做这个功能的要做的具体步骤,只要逻辑没问题那实现程序的某个功能的100%没问题,除非逻辑本身就是错误的,而你没有意识到,还安着这个逻辑往下推理,往下想,那你永远看不到自己想要的效果,这就是编程思想。