mysql笔记(12)
Posted HardyDragon_CC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql笔记(12)相关的知识,希望对你有一定的参考价值。
外键(foreign key) 外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。
等值联结(equijoin)/内部联结
如果数据存储在多个表中,怎样用单条SELECT语句检索出数据?答案是使用联结
在from后添加多个表,然后注意使用完全限定名区分,利用WHERE子句建立联结关系。
应该保证所有联结都有WHERE子句,否则mysql将返回比想要的数据多得多的数据
SELECT vend_name ,prod_name,prod_price
FROM vendors v,products p
WHERE v.vend_id = p.vend_id
ORDER BY vend_name ,prod_name;
可以换个形式:
SELECT vend_name ,prod_name,prod_price
FROM vendors v INNER JOIN products p
ON v.vend_id = p.vend_id ;
联结多个表注意指定关系,联结的表越多,性能下降越厉害
SELECT prod_name,vend_name,prod_price,quantity
FROM orderitems o ,products p ,vendors v
WHERE p.vend_id = v.vend_id
AND o.prod_id = p.prod_id
AND order_num = 20005;
SELECT cust_name ,cust_contact
FROM customers c ,orders o ,orderitems os
WHERE c.cust_id = o.cust_id
AND os.order_num = o.order_num
AND prod_id = 'TNT2';
总结:联结可以显示多个表的数据,from后多个表,使用where方便指定关系,最求规范使用 inner join 和 on 配合。
以上是关于mysql笔记(12)的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段12——JavaScript的Promise对象
VSCode自定义代码片段12——JavaScript的Promise对象