表状态"置疑"连接教程(问题解析)

  

<强> 1.2本篇文章内容概要

  

表状态

  

<强> 1.3本篇文章内容概括

  

SQL语在句中,关于表连接,若按照表的数量来划分,可以划分为单表连接,两表连接和两表以上连接,在本篇文章中,主要讲解两表连接,其他多表连接原理一样。

  

关于表连接有很多种类,本文主要讲解交叉连接,内连接,外连接(左外部连接,右外部连接,全连接),自连接。

  

<强> 1.4本章测试样表和Sql

  

业务场景:有两张表,分为为顾客客户表和顾客订单表命令,SQL语句分别如下:

  

创建海关工作并初始化

        ——创建表客户   创建表的客户   (   CustID VARCHAR (50) NOT NULL,顾客ID   CustName VARCHAR(50),顾客姓名   CustCompany VARCHAR(50)——顾客公司   )      ——最初的客户      插入客户价值(“SXN-DD-01”、“赵武’,‘一个’)   插入客户价值(“SXN-DD-02”、“刘杨',' B ')   插入客户价值(“SXN-DD-03”、“张永为',' C ')   插入客户价值(“SXN-DD-04”、“李龙飞',' D ')   插入客户价值(“SXN-FF-01”、“邓华”、“E”)   插入客户价值(“SXN-HH-01”、“张涛明”,“F”)      

查询结果为:

  

表状态

  

创建订单表并初始化

        创建表的订单   (   CustID VARCHAR (50) NOT NULL,顾客ID   OrdetID VARCHAR(50)订单ID   )      ——最初的订单      插入订单值(“SXN-DD-01”、“SCCCCFFFFFSSOX002”)   插入订单值(“SXN-DD-02”、“SCCCCFFFFFSSOX0X2”)   插入订单值(‘SXN-DD-03’,”)   插入订单值(‘SXN-DD-04’,”)   插入订单值(“SXN-DD-05”、“SCCCCFFFFFSSOX0H2”)   插入订单值(‘SXN-DD-06’,”)      

查询结果为:

  

表状态

  

  

  

  

Q1:写一个查询,生成从1到1000的整数序列。

  

  

<强> 3.1 SQL示例及示例结果

        选择C.CustID、C.CustName C.CustCompany、O.CustID O.OrdetID   从客户C   交叉连接订单O      

结果:   

表状态

  

<强> 3.2示例结果分析

  

交叉连接使用关键字交叉连接进行查询,查询的结果为笛卡儿积,从如上结果可以看的出,查询出的结果共有36行数据,因为客户表和订单表分别有6条记录,6 x6=36;

  

<强> 3.3小结

  
  

。在逻辑上,交叉连接是一种最简单的联接;
  b。交叉连接只实现一个逻辑处理步骤——笛卡儿积;
  c。操作:对输入的两个表进行操作,把它们连接起来,生成两者的笛卡儿积,即将一个输入表的每行与另一个表的所以行进行匹配,如果一个表有m行,而另一个表有n行,将得到m x n行的接果集;
  d。结构:
  ,SELECT tb1.tb1ConumName tb2。tb2ConumName
  ,从表1 tb1
  ,交叉连接表作为tb2
  e。交叉连接使用的关键字:交叉连接;
  f。交叉连接生成的接果集是一个虚拟表,虚拟表中的各列直接源于参与连接的两个表,

     

  

  

4.1 SQL示例及示例结果

        选择C.CustID、C.CustName C.CustCompany、O.CustID O.OrdetID   从客户C   内连接订单啊   alt="表状态"置疑"连接教程(问题解析)">

  

<强> 4.2示例结果分析

  

内连接在交叉连接的基础上外加过滤条件,如上例子中用Customers.CustID=Orders.CustID作为过滤条件,结果显而易见的。

  

<强> 4.3小结

  
  

内联接规则为笛卡尔积+用户谓词过滤:它首先像交叉连接一样,对两个输入表进行笛卡尔积运算,然后根据用户指定的谓词对结果进行过滤;

     

  

  

5.1 SQL示例及示例结果(只分析左外部连接,因为右连接和全连接原理也是一样的)

表状态"置疑"连接教程(问题解析)