mysql 联结主键_MySQL基础_联结

联结表

联结(Join)表

MySQL是一种关系数据库,所谓关系就是指把数据分解为多个表,一个类据一>个表。各表之间通过某些常用的值(即关系)相关联

就比如说有一个表储存了供应商信息,供应商ID为主键。另一个表储存了一些商品的信息,但是也需要知道商品相应的供应商信息。那么可以给商品设置一个供应商ID>,称为外键,通过这个外键来去供应商表查询供应商的信息

外键(foreign key): 外键为某个表中的一列,它包含另一个表的主键值,定>义了两表的关系

就比如说,有两张表:

 
 

mysql&gt select * from product;

+------+---------+

| name | vent_id |

+------+---------+

| KOH  |       1 |

| NaOH |       2 |

| KF   |       1 |

| NaF  |       3 |

+------+---------

mysql&gt select * from vent;

+---------+----------+

| vent_id | name     |

+---------+----------+

|       1 | wanqing  |

|       2 | alading  |

|       3 | guoyao   |

|       4 | maikelin |

+---------+----------+

内部联结(Inner Join)

 
 

mysql&gt SELECT product.name, product.vent_id,vent.name

-&gt FROM product,vent

-&gt WHERE product.vent_id=vent.vent_id;

+------+---------+---------+

| name | vent_id | name    |

+------+---------+---------+

| KF   |       1 | wanqing |

| KOH  |       1 | wanqing |

| NaOH |       2 | alading |

| NaF  |       3 | guoyao  |

+------+---------+---------+

可以看到通过使用WHERE设置过滤条件,实现了两张表的联结。这种联结是等>值联结,也被称为内部联结(Inner Join)

上述带WHERE语句的更加标准的写法是:

 
 

mysql&gt SELECT product.name, product.vent_id,vent.name

-&gt FROM product INNER JOIN vent

-&gt ON product.vent_id=vent.vent_id;

+------+---------+---------+

| name | vent_id | name    |

+------+---------+---------+

| KF   |       1 | wanqing |

| KOH  |       1 | wanqing |

| NaOH |       2 | alading |

| NaF  |       3 | guoyao  |

+------+---------+---------+

外部联结(Outer Join)

与内部联结不同的是,外部联结会包括没有联结的行,也就是会出现NULL。使用时必须指定是LEFT OUTER JOIN还是RIGHT OUTER JOIN,分别表示外部联结左边还是右边的表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值