时间:2021-07-01 10:21:17 帮助过:2人阅读
在数据库系统中,相同的数据在数据库中出现多次不是一件让人满意的事情,这是关系数据库的基础, 关系表的设计就是要把信息分解成多个表,一类数据一个表,各表通过某些共同的值相互关联。
表与表之间的关联是通过外键联系在一起的,例如A表中有一列是B表中的主键,这样一列可以作为A表的外键,通过此外键A表和B表进行连接。
主键与外键:
SQL中有多种联结方式:内联结、外联结、交叉联结
内连接
内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。
直接通过例子来说明:
Vendors 和 Products是数据库中的两个表,这两个表通过vend_id这一列联结起来,vend_id为Vendors中的主键,同时是Products中的一个外键,最终得到的检索结果分别存在两个表中。
外联结分为:左外联结、右外联结、全联结
左外联结
- 以左表为基准,将Vendors.vend_id = Products.vend_id的数据进行连接,然后将左表没有的对应项显示,右表的列为NULL
右外联结
- 以右表为基准,将Vendors.vend_id = Products.vend_id的数据进行连接,然以将右表没有的对应项显示,左表的列为NULL
全联结
- 完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
这里返回的数据是相应的笛卡尔积,左表中的每一行与右表中的所有行组合
数据库(二):高级检索
标签: