1、联结
SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表
a、关系表
关系表的设计就是要保证把信息分解成多个表,一类数据一个表。各表通过某些常用的值(即关系设计中的关系(relational))互相关联。
b、使用联结
联结是一种机制,用来在一条SELECT语句中关联表,因此称之为联结
2、创建联结
SELECT vend_name, prod_name, prod_price FROM vendors, products WHERE vendors.vend_id = products.vend_id ORDER BY vend_name, prod_name ;
a、WHERE 子句的重要意义
由限定条件查询可以确保数据的准确,WHERE子句作为过滤条件,起到匹配限定的作用;
b、内部联结
目前为止所用的联结称为等值联结(equijoin),它基于两个表之间的相等测试。这种联结也称为内部联结。
SELECT vend_name, prod_name, prod_price FROM vendors INNER JOIN products ON vendors.vend_id = products.vend_id ;
c、联结多个数据表
SELECT prod_name, vend_name, prod_price, quantity FROM orderitems, products, vendors WHERE products.vend_id = vendors.vend_id AND orderitems.prod_id = products.prod_id AND order_num = 20005;
下图展示了上面语句的查询过程;
综上所述,多层子查询嵌套与联结表的查询方式 可以根据不同的场景依据性能要求进行使用;