【书山有路】SQL必知必会 第12课

    xiaoxiao2021-03-25  58

    本章的主题是“联结表”,主要介绍什么是联结,为什么使用联结,如何编写使用联结的SELECT语句。

    概念

    由没有联结条件的表关系返回的结果为笛卡尔积。检索出的行的数目将是第一个表中的行数乘以第二个表中的行数。笛卡尔积又称为Cross Join

    警告

    要保证所有的联结都有WHERE子句,否则DBMS将返回比想要的数据多得多的数据。DBMS在运行时关联指定的每个表,以处理联结。这种处理可能非常耗费资源,因此应该注意,不要联结不必要的表。联结的表越多,性能下降越厉害。

    联结

    SQL最强大的功能之一就是能在数据查询的执行中联结(join)表。联结是利用SQL的SELECT能执行的最重要的操作,很好地理解联结及其语法是学习SQL的极为重要的部分。

    关系表

    相同的数据出现多次绝不是一件好事,这是关系数据库设计的基础。关系表的设计就是要把信息分解成多个表,一类数据一个表。各表通过某些共同的值互相关联。

    笛卡尔积

    使用下面的SQL命令:

    SELECT vend_name,prod_name,prod_price FROM Vendors, Products WHERE Vendors.vend_id = Products.vend_id;

    内连接

    目前为止使用的联结称为等值联结,它基于两个表之间的相等测试。这种联结也称为内联结。可以使用另外一种语法:

    SELECT vend_name, prod_name, prod_price FROM Vendors INNER JOIN Products ON Vendors.vend_id = Products.vend_id;
    转载请注明原文地址: https://ju.6miu.com/read-37383.html

    最新回复(0)