美文网首页
Sql之表的连接总结

Sql之表的连接总结

作者: 萬惡的Nickey | 来源:发表于2017-05-18 11:09 被阅读0次

1、交叉连接(就是将两张表的数据 交叉组合在一起)
有两张表 客户表:[Sales.Customers] 和订单表:[Sales.Orders]。
业务需求:实现 Customer中custid(客户Id) 和 Orders表中的 Orderid的 交叉连接

select 
c.custid,o.orderid
from [Sales.Customers] as c cross join [Sales.Orders] as o

实现效果:


2、内连接(使用最多的):inner join
业务要求:查询出:Order对应的 Customer中的所有客户的所有订单

select c.custid,o.orderid
from [Sales.Customers] as c inner join [Sales.Orders] as o
on c.custid=o.custid

注意:所有的查询结果都是全部符合 on 后面的 条件,这是和 outer join 正好相反的

3、外连接 (outer join)
和内连接最显著的 不同:就是将不满足条件的数据页查询出来了
注意一点:外连接是要分左外连接和右外连接的,左外连接意思就是outer join左边的表含有超出 on条件的内容

select
c.custid,o.orderid
from [Sales.Customers] as c left outer join [Sales.Orders] as o
n c.custid= o.custid

查看查询结果可以看出:



含有两个 orderid 为NULL的结果,就是多出来的 查询结果

通过上面的使用右外连接的使用方法 只不过要将上面的两张表的顺序 变一下

3、对外连接使用的实例,并对组函数里面NULL值的处理讲解
注意:对于组函数(例如:sum()、max()等),对于Null值是不做处理的,不算在内的

select
c.custid,o.orderid,
count(o.orderid) over (partition by c.custid)
from [Sales.Customers] as c left outer join [Sales.Orders] as o
on c.custid= o.custid

查看结果:



我们可以看到,最后两项求和的值为0.这是因为求和是根据 orderid进行分组的(这里关于分组是通过开窗函数over,后面我会讲解的),组函数COUNT()对NULL是不做处理的,所以为0.

相关文章

  • Sql之表的连接总结

    1、交叉连接(就是将两张表的数据 交叉组合在一起)有两张表 客户表:[Sales.Customers] 和订单表:...

  • 数据分析——目录页

    SQL 总结 表连接JOIN总结 SQLZOO SQLZOO练习1--SELECT basics SQLZOO练习...

  • 连表查询:sql1992和sql1999

    sql1992 sql分类 1.笛卡尔积 (表乘表) 2.等值连接 表的连接条件使用“=” 3.非等值连接 表的连...

  • Oracle面试题之SQL tunting

    Oracle面试题之SQL tunting 1:列举几种表连接方式 答:一共有三种连接方式(SQL优化),嵌套循环...

  • 【SQL】表连接JOIN总结

    在学习JOIN过程中,发现一些用法容易混淆,就在网上找了一些资料,下面是找到的一份总结得较为全面的(链接地址:ht...

  • 2020-04-01

    连接两表 SOLUTION 输入 输出 解题思路SQL 连接类型SQL 中有多种不同的连接: 内连接(INNER ...

  • SQL查询之简单表连接

    这此总结学到的sql表连接,以下便为此次数据,本文以mysql为例。 一.外连接 1.左连接(left join)...

  • SQL常见面试题

    1、SQL的表连接方式有哪些?SQL中连接按结果集分为:内连接,外连接,交叉连接内连接:inner join on...

  • SQL 表连接

    两表做全相乘(交叉连接) select * from table1,table2;返回一个全新的表,其行数为两表的...

  • sql表连接

    表连接可以让我们从不同的表中获取记录并组合在一起。 表连接的基本语法如下: join 用来表示连接的表。on 用来...

网友评论

      本文标题:Sql之表的连接总结

      本文链接:https://www.haomeiwen.com/subject/gkhsxxtx.html