sql多表内连接查询,多表查询连接sql子句,sql表连接查询使用方法(sql多表连接查询)

sql多表内连接查询,多表查询连接sql子句,sql表连接查询使用方法(sql多表连接查询)

表连接是一种通过关联多个表来检索所需数据的方法。让我们通过代码示例来学习如何使用sql表连接。

实际项目,有多个表。不可能在一个表中检索所有数据。如果没有表连接,那么我们需要大量的操作。比如你需要从表A中找出限制条件来从表b中检索数据,不仅需要分多个表来操作,而且效率很低。比如书中的例子:复制代码如下:select FID from t _ customer其中fname=' Mike '

此SQL语句返回2,即名为MIKE的客户的FId值为2,这样您就可以在T_Order中检索到FCustomerId等于2的记录:

复制代码如下:select fnumber,fpricefrom t _ order其中fcustomerid=2

让我们仔细看看表连接。有许多不同类型的表,包括交叉连接、内部连接和外部连接。

(1) INNER JOIN: inner join合并两个表,只获取满足两个表的连接条件的数据。复制的代码如下:select o.fid,o.fnumber,o.fprice,c.fid,c.fname,c . fage from t _ order o join t _ customer con o . f customerid=c . FID

注意:在大多数数据库系统中,内部连接是可选的,内部连接是默认的连接方法。

使用表连接时,并不局限于只连接两个表,因为很多情况下需要连接很多表。例如,T_Order表还需要连接T_Customer和T_OrderType表来检索所需的信息。只需写以下SQL语句:复制代码如下:select o.fid,o.fnumber,o.fprice,c.fid,c.fname,c . fage from T _ Order o JOIN T _ Customer cON o . FCustomerId=c . FID inner JOIN T _ Order type on T _ Order。FTypeId=T_OrderType。桅栓

(2)交叉连接:交叉连接涉及的所有表中的所有记录都包含在结果集中。定义交叉连接有两种方式,即隐式和显式。

看下面这个隐含的例子:复制代码如下:select t _ customer.fid,t _ customer.fname,t _ customer.fage,t _ order.fid,t _ order.fnumber,t _ order.fpricefrom t _ customer,t _ order。

要使用显式连接,您需要使用交叉连接。示例如下:

复制以下代码:select t _ customer.fid,t _ customer.fname,t _ customer.fage,t _ order.fid,t _ order.fnumber,t _ order . fprice from t _ customer cross join t _ order。

(3)外连接:内连接只获取符合连接条件的数据,外连接主要解决这样的场景。将检索符合条件的数据。这是毫无疑问的。外部连接还会检索另一部分数据,即不满足条件的数据用NULL填充。让我们来看看外连接的分类:左外连接、右外连接和全外连接。

I .左外连接:如前所述,不满足条件的数据将用NULL填充。那么哪些需要用NULL填充呢?对于左外连接,在连接条件中,如果左表和右表中的数据没有对应的匹配,则对应的右表字段需要填充空值。也就是说,左外接的主体是左表和右表来配合。

复制的代码如下:select o.f number,o.f price,o.fcustomerid,c.fname,c.fagefrom t _ order oleft外连接t _ customer con o . f customerid=c . FID

注意:如果使用左外连接,不一致的数据可以通过where语句过滤掉。

复制的代码如下:select o.fnumber,o.fprice,o.fcustomerid,c.fname,c.fage from t _ order oleft外连接t _ customer con o . f customerid=c . FID where o . f price=150。

二。右外连接:右外连接与左外连接相反,左表中的字段将用空值填充。也就是说,右外接的主体是右表和左表来配合。

复制代码代码如下:SELECT o.FNumber,o.FPrice,o.FCustomerId,c.FName,c . fage from T _ Order origing OUTER JOIN T _ Customer cON o . f customerid=c . FId

注:同左外连接一样,可以使用在哪里语句进行过滤

三、全外部连接(完全外部联接):全外部连接是左外部连接和右外部连接的合集。也就是既包括左外部连接的结果集,也包括右外部连接的结果集。

复制代码代码如下:从所有外部连接的T _ Order中选择o.FNumber,o.FPrice,o.FCustomerId,c.FName,c . fage T _ Customer cON o . f customerid=c . FId

其结果相当于:

复制代码代码如下:从T_Order oLEFT中选择o.FNumber、o.FPrice、o.FCustomerId、c.FName、c . FName外部联接T _客户编号customerid=c . FId

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用sql语句实现查询排序,顺序和倒序的区别,sql按倒序排序
  • 使用sql语句实现查询排序,顺序和倒序的区别,sql按倒序排序,使用SQL语句实现查询排序,顺序和倒序
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 一篇文章带你入门sql编程语句,一篇文章带你入门sql编程题
  • 一篇文章带你入门sql编程语句,一篇文章带你入门sql编程题,一篇文章带你入门SQL编程
  • window无法启动mysql 1067,windows无法启动mysql57服务,错误1053
  • window无法启动mysql 1067,windows无法启动mysql57服务,错误1053,windows无法启动MySQL服务报错1067的解决方法
  • vb中adodb连接数据库,,VB语言使用ADO连接、操作SQLServer数据库教程
  • sql重复记录查询的几种方法有哪些,查询重复记录sql语句
  • sql重复记录查询的几种方法有哪些,查询重复记录sql语句,SQL重复记录查询的几种方法
  • sql语句的各个关键字的解析过程详细总结怎么写,sql语句的各个关键字的解析过程详细总结图
  • sql语句的各个关键字的解析过程详细总结怎么写,sql语句的各个关键字的解析过程详细总结图,SQL语句的各个关键字的解析过程详细总结
  • sql语句游标,sqlserver游标的使用
  • sql语句游标,sqlserver游标的使用,详解SQL游标的用法
  • 留言与评论(共有 条评论)
       
    验证码: