
愿关注我们的人都能找到
属于自己的皮球

松勤
1、联结
关系表
外键(foreign key):外键为某个表中的一列,包含另一个表的主键值,定义了两个表的关系。
可伸缩性(scale):能够适应不断增加的工作量而不失败。
为何使用联结:如果数据存储在多个表中,想要用单条SELECT语句检索数据? 使用联结。
2、创建联结

分析:与前面语句检索区别在于两个列在其中一个表中,而另外一列(vend_name)在另外一个表中。
FROM语句,列出两个表,分别是vendors 和 products,这里需要使用 完全限定列名。
完全限定列名:再次强调,出现二义性时,必须使用。




WHERE子句的重要性
笛卡尔积(cartesian product):在没有联结条件的表关系返回的结果为笛卡尔积。检索出的行的数目是将第一个表中的行数* 第二表中的行数。
WHERE子句:应当确保所有联结都是WHERE子句,否则MySQL将会返回比想象的数据多的多。
叉联结:有时我们会听到返回称为叉联结(cross join)的笛卡尔积的联结类型。
内部联结
目前所有的联结都是等值联结(equijion),此联结也称为内部联结,修改豫剧来明确指定联结的类型。

分析:FROM
子句中,以INNER JOIN
指定,联结条件使用特定的 ON
子句而不是WHERE
传出。
联结多个表
-方式:首先列出所有表,然后定义表之间的关系。

分析:显示编号为20005的订单物品。通过三个联结条件过滤出所需要的信息。
注意:性能问题,联结表越多,性能下降越厉害。

分析: 这里没有使用嵌套子查询,而是使用两个联结。
总结

文章转载自松勤软件学院,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




