Join(麻蛋  废话不多说 有图有真相)

测试数据脚本

 CREATE TABLE Atable
   (
      S#    INT,
      Sname ),
      Sage  INT,
      Sfrom  )
   ) 

  insert into Atable
  ,N,N'A' union all
  ,N,N'A' union all
  ,N,N'A' union all
  ,N,N'A' 

  CREATE TABLE Btable
   (
      S#    INT,
      Sname ),
      Sage  INT,
      Sfrom  )
   ) 

  insert into Btable
  ,N,N'B' union all
  ,N, N'B' union all
  ,N,N'B' union all
  ,N,N'B'

数据表

1)cross join:交叉连接不需要任何连接条件。两个表的的数据直接进行笛卡尔积运算。

SELECT * FROM Atable as A  cross join Btable as B order by A.S#

2)inner join == join    内连接的功能是,把两个表相关联的记录列出来,必须是相关联的记录。

SELECT * FROM Atable as A  INNER JOIN Btable as B ON A.Sname = B.Sname

3)left outer join == left join   产生表B的完全集,而A表中匹配的则有值,没有匹配的则以null值取代。

SELECT * FROM Atable as A left outer join Btable as B ON A.Sname = B.Sname

4)right outer join == right jion  产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。

SELECT * FROM Atable as A right outer join Btable as B ON A.Sname = B.Sname

5)full outer  join  == full join   产生A和B的并集。但是需要注意的是,对于没有匹配的记录,则会以null做为值。

SELECT * FROM Atable as A full join Btable as B ON A.Sname = B.Sname

6)union与union all    区别就是联合查询的时候union会去重,union all不会去重

通过UNION运算符来将两张表纵向联接,基本方式为:
SELECT 列1 , 列2 FROM 表1
UNION
SELECT 列3 , 列4 FROM 表2;
UNION ALL为保留重复行:
SELECT 列1 , 列2 FROM 表1
UNION ALL
SELECT 列3 , 列4 FROM 表2;
SELECT Sname FROM Atable  UNION  SELECT Sname FROM  Btable
SELECT Sname FROM Atable  UNION ALL SELECT Sname FROM  Btable

SQL Server 基础:Join用法的更多相关文章

  1. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

  2. Sql server left join,right join和inner join的比较

    转载于:http://www.2cto.com/database/201206/137067.html   Sql server left join,right join和inner join的比较 ...

  3. 《SQL Server基础——SQL语句》

    SQL Server基础--SQL语句       一.创建和删除数据库: 1.创建数据库(默认化初始值) 格式: CREATE DATABASE 数据库名称 例如: CREATE DATABASE ...

  4. 数据库开发基础-SQl Server 基础

    SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language  结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...

  5. 【SQL Server】SQL Server基础之存储过程

    SQL Server基础之存储过程  阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储 ...

  6. Sql Server 基础知识

    Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...

  7. SQL Server的JOIN是支持使用小括号修改执行顺序的

    假如现在我们的SQL Server数据库中有三个表:[T_A].[T_B]和[T_C],它们的建表语句如下: --建表语句[T_A] CREATE TABLE [dbo].[T_A]( [ID_A] ...

  8. Sql Server 基础语法

    来自:http://www.cnblogs.com/AaronYang/archive/2012/04/24/2468093.html Sql Server 基础语法 -- 查看数据表 select  ...

  9. Sql server日期函数用法

    SQL日期函数 SQL日期函数中的类型码可以为0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 ,20,21,22,23,24,25,100,101,102,103,104,105 ...

  10. SQL Server基础之索引

     索引用于快速找出在某个列中有某一特定值的行,不使用索引,数据库必须从第一条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,数据库能快速到达一个位置 ...

随机推荐

  1. 推荐一个代码生成工具:freemarker

    freemarker:http://freemarker.org/ 还有velocity:http://velocity.apache.org/

  2. ee

    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Inse ...

  3. AOP切入点注解报错

    开始学习AOP,出现如下的错误,最后发现是JDK与aspectj,aspectjweaver版本问题造成的.之后改成最新版本,代码运行正常. 利用这些特性可以进行代码的插入,比如权限,缓存结合mecm ...

  4. 项目积累——jQuery

    初始化时为文本框赋值,聚焦后清空内容 $(function(){ $("#buyDate").val("格式:2014-01-01"); $("#bu ...

  5. The Ninth Hunan Collegiate Programming Contest (2013) Problem G

    Problem G Good Teacher I want to be a good teacher, so at least I need to remember all the student n ...

  6. [转载]python中multiprocessing.pool函数介绍

    原文地址:http://blog.sina.com.cn/s/blog_5fa432b40101kwpi.html 作者:龙峰 摘自:http://hi.baidu.com/xjtukanif/blo ...

  7. Unity AssetBundles and Resources指引 (二) Resources文件夹

    本文内容主要翻译自下面这篇文章 https://unity3d.com/cn/learn/tutorials/topics/best-practices/guide-assetbundles-and- ...

  8. Windows7:Visual Studio 2008试用版的评估期已经结束解决方法

    Windows7:Visual Studio 2008试用版的评估期已经结束解决方法       以前在Windows2003碰到这个问题时,都是到"控制面板→添加或删除程序"选择 ...

  9. .net orm比较之dapper和Entity Framework6的简单测试比较

    .net orm比较之dapper和Entity Framework6的简单测试比较

  10. 织梦dedecms简略标题调用标签用法指南

    我们在使用织梦DEDECMS建站过程中,为了使调用的文章标题简短且相对完整(原文标题太长),只好使用了调用简略标题这个方法,使标题显示为简短标题,指向标题时显示完整的标题.并获得文章静态地址链接 下面 ...