当前位置:Gxlcms > 数据库问题 > 数据库(二):高级检索

数据库(二):高级检索

时间:2021-07-01 10:21:17 帮助过:2人阅读

> FROM > WHERE > GROUP BY > HAVING > ORDER BY

3. 联结表

3.1 关系表

在数据库系统中,相同的数据在数据库中出现多次不是一件让人满意的事情,这是关系数据库的基础, 关系表的设计就是要把信息分解成多个表,一类数据一个表,各表通过某些共同的值相互关联。

表与表之间的关联是通过外键联系在一起的,例如A表中有一列是B表中的主键,这样一列可以作为A表的外键,通过此外键A表和B表进行连接。

主键与外键:

技术分享

3.2 联结

SQL中有多种联结方式:内联结、外联结、交叉联结

3.2.1 内联结

内连接
内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。

直接通过例子来说明:

技术分享

技术分享

VendorsProducts是数据库中的两个表,这两个表通过vend_id这一列联结起来,vend_id为Vendors中的主键,同时是Products中的一个外键,最终得到的检索结果分别存在两个表中。

3.2.2 外联结

外联结分为:左外联结、右外联结、全联结

左外联结

  • 以左表为基准,将Vendors.vend_id = Products.vend_id的数据进行连接,然后将左表没有的对应项显示,右表的列为NULL

右外联结

  • 以右表为基准,将Vendors.vend_id = Products.vend_id的数据进行连接,然以将右表没有的对应项显示,左表的列为NULL

全联结

  • 完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

3.2.3 交叉联结

技术分享

这里返回的数据是相应的笛卡尔积,左表中的每一行与右表中的所有行组合

数据库(二):高级检索

标签:

人气教程排行