时间:2021-07-01 10:21:17 帮助过:22人阅读
外键为某个表的一列,它包含另一个表的主键值,定义两个表之间的关系。
联结表的优点:
1)避免了信息重复,节约了时间和空间
2)某个数据变动,只需改变其响应的数据表即可
3)数据无重复使得数据能够更有效的存储和方便的处理,伸缩性强能够适应不断增加的工作量
如果数据存储在多个表中,那么怎么用一条语句检索出数据?答案是使用联结。
Mysql中常用join来建立表之间的连接。
要理解join,我们首先要理解笛卡尔积,由没有联结条件的表关系返回的结果为笛卡尔积。
比如表products中有m条记录,表vendors中有n条记录,那么这两个表的笛卡尔积为m*n条记录。
如下方式可以产生笛卡尔积
1 SELECT * FROM products INNER JOIN vendors 2 SELECT * FROM products JOIN vendors
内连接
求两个表的交集,常见的内连接有JOIN, INNER JOIN, WHERE
左连接
两个表的交集加上左表剩下的数据
右连接
两个表的交集加上右表剩下的数据
外连接
求两个或多个表之间的左连接和右连接的并集
Mysql不支持外连接,但是可以通过UNION来实现
当连接表的列采用相同的名称时,可用USING来简化ON语法
USING(col_name)指定一个属性名来连接两个表,而ON指定一个条件
在使用SELECT *时,USING会去除USING指定的列,而ON不会。
Mysql-联结
标签:复数 去除 需要 出现 响应 怎么 检索 where 数据库设计