弄清几个概念
1、什么是外键?
外键相对于主键来讲,外键就是将一张表中的一列关联到领一张表的主键上,通过这一列维护两张表的数据的相关性和数据的完整性。
2、什么是联接查询?
将多个表中的不同的列中的数据基于某些过滤条件,使用一条查询语句进行返回。
3、如何造成笛卡尔积?
在查询多个表的时候,没有放置联合条件就会造成笛卡尔积
4、什么是笛卡尔积
笛卡尔积就是由于上述原因,就会导致,多表之间进行行之间一一匹配,查询出来的数据量为:”所有表行数据的乘积。
5、内连接查询or等值查询两种写法
6、什么是联结条件
联结条件指的是上边的两种写法中的线圈着的部分。
7、内部链接和等值链接的关系
内部联结就是等值联结,二者使用结果完全一致都是将这两个表中满足两列相等的元素给过滤出来,使我们的数据是符合业务含义的,避免笛卡尔积的出现
8、叉联结和笛卡尔积的关系
叉联结又称笛卡尔积,发生了笛卡尔积就等同于发生了叉联结。
9、如何连接多个表
联结多个表的第一种写法:
联结多个表的第二种写法:
select * from oderitems inner join products on oderitems .prod_id = products .prod_id inner join vendors on vendors.vend_id = products.vend_id where foeritems.order_number = 20005;
10、过多关联表会怎么样
Mysql会处理我们关联的所有的表,但是我们关联的表越多,处理整个SQL时间越长,SQL越慢,应尽量避免过多不必要的关联。
补充说明:
1、等值联结又叫内部联结,他们的本质就是将两张表中数据完全满足关联条件的行进行筛选,得到最终的虚拟表数据进行返回。