SQLserver数据库-学习笔记-连接查询

定义

  将两个表或者两个以上的表以一定的连接条件连接起来

  从中检索出满足条件的数据

分类

  内连接

    1.select ....... from A,B的用法

    产生的结果:

    行数是A和B的乘积

    列数是A和B之和

    或者说

    把A表的每一条记录都和B表的每一条记录组合在一起

    形成的是一个笛卡尔积

    select......from B,A和select......fromA,B输出结果一样

    2.select ......from A,B, where...的用法,产生的笛卡尔积用where过滤

    3.select ......from A join B on......的用法 将两张表按照特定条件连接在一起

    4.SQL92标准和SQL99标准的区别

      select ......from A,B where ......是sql92标准

      select ......from A join B on......是sql99标准

      输出结果一样

    5.查询的顺序

      select top ......

        from A

        join B

        on ......

        join C

        on ......

        where......

        group by ......

        hacing......

        order by ......   

  左(右)外连接 

  定义:不但返回满足连接条件的所有记录,而且会返回部分不满足条件的记录

  实际意义:返回一个事物及其事物的相关信息,如果该事务没有相关信息,则输出null

select * from .......
    left(right) join ......
    on .......

  完全连接

  两个表中匹配所有行记录

  左表中那些在右表中找不到匹配的行的记录,这些记录的右边全为null,反之右表毅然

select * from xxxxxx
    full join xxxxxx
    on xxxxxx

  交叉连接

select * from xxxxxx
    cross join xxxxxx
    on xxxxxx

等价于

select * from xxxxxx,xxxxxx

  自连接

  定义:一张表自己和自己连接起来查询数据

  联合

  定义:表和表之间的数据以纵向的方式连接在一起

select * from xxxxxx
union
select xxxx from xxxxxx
上一篇:restful API 转自知乎


下一篇:Yapi本地搭建及错误解决