《MySQL必知必会》——联结表

一、联结表

1、联结

SQL最强大的功能之一就是在数据检索查询的执行中联结(join)表。

  • 关系表

1.相同数据出现多次决不是一件好事,此因素是关系数据库的设计基础。关系表的设计就是要保证将信息分解为多个表,一类数据一类表,各表通过某些常用的值互相关联。
2. 外键:外键为某表中的一列,它包含另一个表中的主键值,定义了两个表的关系
3.关系数据库的可伸缩性比非关系型数据库好

  • 为什么要使用联结

可以在多个表中返回一组输出

2、创建联结

1.创建联结非常简单,规定要联结的表以及他们之间如何关联即可,例如:
在这里插入图片描述
2.完全限定列名:在引用的列可能出现二义性的时候,必须使用完全限定列名(用一个点分隔的表名和列明)

  • WHERE子句的重要性

由没有联结条件的表关系返回的结果为笛卡儿积。检索出的行数将是第一个表的行数乘第二个表中的行数。所以应该保证所有联结都有WHEREW语句。

  • 内部联结

1.内部联结:目前所用的联结称为等值联结,它基于两个表之间的相等测试。这种联结也叫内部联结。
2.和上边语句等价的方式:
在这里插入图片描述

  • 联结多个表

1.sql对一条select语句可以联结的表没有限制,但是出于性能考虑,不要联结不必要的表。
2.子查询能够用联结查询代替:
在这里插入图片描述
在这里插入图片描述

3、小节

  • 联结是SQL中最重要最强大的特性,有效使用联结表需要对关系数据库有基本的了解。

二、创建高级联结

1、使用表别名

1.SQL允许使用表别名,例如:

SELECT Concat(RTrim(v_name),'(',RTrim(a_name),')') AS
av_name
FROM venders
ORDER BY a_name;

2.表别名只在查询执行中使用。与列别名不一样,表别名不返回客户机。

2、使用不同类型的联结

目前为止,我们使用的都是称为内部联结或等值联结的简单联结。现在学习其他三种联结。

  • 自联结
  • 自然联结
  • 外部联结

3、使用带聚集函数的联结

4、使用联结和联结条件

1.一般使用内部联结,但是内部联结也是有效的
2.应该总是提供联结条件,否则会得到笛卡尔积

扫描二维码关注公众号,回复: 5958615 查看本文章

5、小结

猜你喜欢

转载自blog.csdn.net/weixin_44738882/article/details/89377493