zoukankan      html  css  js  c++  java
  • 表连接简介

    使用目前所介绍的SQL知识,我们仅能够从一张数据表中检索数据,这在很多情况下是不能满足要求的,因为经常需要从多个表中进行检索才能得到想要的数据,SQL中的“表连接”就是用来解决这个问题的。表连接使用JOIN关键字将一个或者多个表按照彼此间的关系连接为一个结果集。

    表连接在SQL中的地位是非常重要的。假设需要查找姓名为MIKE的客户的订单号和票价。如果SQL不支持表连接,那么完成这个功能的第一个任务将是在T_Customer 表中检索姓名为MIKE的客户的FId值:

    
    SELECT FId FROM T_Customer WHERE FName="MIKE"
    

    这个SQL语句返回2,也就是姓名为MIKE 的客户的FId值为2,这样就可以到T_Order中检索FCustomerId等于2 的记录:

    
    SELECT FNumber,FPrice FROM T_Order WHERE FCustomerId=2
    

    执行完毕我们就能在输出结果中看到下面的执行结果:

    
    FNumber FPrice
    
    N002 100.00
    

    由于这个功能比较简单,而且表中的数据也不复杂,所以使用这种分步处理的方式并没有感到有多么慢,但是如果T_Customer表有不止一个用户叫MIKE甚至有更多表参与检索的话使用这种方式不仅非常烦琐,而且会大大降低检索效率。使用SQL中的表连接则可以简化开发,并且由于数据库系统会对表连接进行查询优化,所以使用表连接进行数据的检索也会非常快速。

    表连接就像连接两张数据表的连线,线的两端是分别在两张表的特定字段上的。在这里的例子中T_Customer表的FId字段和T_Order表的FCustomerId字段就是关联关系的两个端点。在使用表连接的时候必须显式的指定这个关联关系。

    SQL中使用JOIN 关键字来使用表连接。表连接有多种不同的类型,被主流数据库系统支持的有交叉连接(CROSS JOIN)、内连接(INNER JOIN)、外连接(OUTTER JOIN),另外在有的数据库系统中还支持联合连接(UNION JOIN)。

  • 相关阅读:
    HiveServer2的配置使用
    hBase-thrift 实践(java)
    Building Apache Thrift on CentOS 6.5
    linux安装thrift
    Apache Thrift with Java Quickstart(thrift入门及Java实例)
    [转载]/etc/security/limits.conf解释及应用
    storm 入门原理介绍
    Storm的wordCounter计数器详解
    CentOS6.5 安装python
    HBase 协处理器统计行数
  • 原文地址:https://www.cnblogs.com/yuyu666/p/9823705.html
Copyright © 2011-2022 走看看