关系表:sql
1.关系表的设计就是要保证把信息分解成多个表,一类数据一个表,各表经过某些经常使用的值(即关系设计中的关系)互相关联数据库
2.外键为某个表中的一列,它包含另外一个表中的主键值,定义了两个表之间的关系,关系数据库能够有效的存储和方便的管理,因此关系数据库比非关系数据库可伸缩性要强测试
为何要使用联结:spa
1.使用关系表必然数据会分布在不一样的表中,为了单条SELECT语句检索出数据,必须使用联结设计
SELECT vend_name, prod_name, prod_price FROM vendors, products WHERE vendors.vend_id = products.vend_id ORDER BY vend_name, prod_name;
WHERE子句的重要性:code
1.默认没有使用WHERE子句的限制,会返回笛卡尔积,检索出来的行数实际上是第一个表的行数*第二个表的行数it
SELECT vend_name, prod_name, prod_price FROM vendors, products ORDER BY vend_name, prod_name;
内部联结:class
1.基于两个表之间的相等测试,等值连结,这种链接称为内部联结数据
SELECT vend_name, prod_name, prod_price FROM vendors INNER JOIN products ON vendors.vend_id = products.vend_id ORDER BY vend_name, prod_name;
联结多个比表:ant
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; 或 SELECT prod_name, vend_name, prod_price, quantity FROM products INNER JOIN vendors ON products.vend_id = vendors.vend_id INNER JOIN orderitems ON orderitems.prod_id = products.prod_id AND order_num = 20005;
说明:等值链接也称为内部链接,为最经常使用的联结方式