15 联结表

来源:互联网 发布:java 生成zip压缩文件 编辑:程序博客网 时间:2024/06/05 20:41

关系表的设计是要保证把信息分解成多个表,一类数据一个表,各表通过某些常用的值互相关联
主键:唯一标识 外键:外键为某一个表中的一列,它包含另一个表的主键值,
优点:更有效存储,更方便处理,更大的伸缩性
注意:联结不是物理实体,在实际的数据库表中是不存在的,由MYSQL根据需要建立,存在于查查询的执行中

SELECT vend_name,prod_name,prod_price FROM vendors,products WHERE vendors.vend_id=products.vend_id ORDER BY vend_name,prod_name

WHERE子句的重要性:联结两个表的时候实际上是将第一个表中的每一行与第二个表的每一行配对WHERE子句作为过滤条件,他只包涵
那些匹配的条件的行,没有WHERE 子句的时候,第一个表中的每行将与第二个表中的每行配对,而不管他们的逻辑是否可以配在一起。

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

应该保证联结中都有WHERE 子句,否则会返回大量的数据

内部联结:也叫等值联结

SELECT vend_name,prod_name,prod_price FROM vendors INNER JOIN products ONvendors.vend_id=products.vend_id 

联结多个表

SELECT prod_name ,vend_name,prod_price,quanity FROM orderitems,products,vendors WHERE product.vend_id =vendors.
原创粉丝点击