SQL Server 基础: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用法的更多相关文章
- SQL server基础知识(表操作、数据约束、多表链接查询)
SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...
- Sql server left join,right join和inner join的比较
转载于:http://www.2cto.com/database/201206/137067.html Sql server left join,right join和inner join的比较 ...
- 《SQL Server基础——SQL语句》
SQL Server基础--SQL语句 一.创建和删除数据库: 1.创建数据库(默认化初始值) 格式: CREATE DATABASE 数据库名称 例如: CREATE DATABASE ...
- 数据库开发基础-SQl Server 基础
SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language 结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...
- 【SQL Server】SQL Server基础之存储过程
SQL Server基础之存储过程 阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储 ...
- Sql Server 基础知识
Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...
- SQL Server的JOIN是支持使用小括号修改执行顺序的
假如现在我们的SQL Server数据库中有三个表:[T_A].[T_B]和[T_C],它们的建表语句如下: --建表语句[T_A] CREATE TABLE [dbo].[T_A]( [ID_A] ...
- Sql Server 基础语法
来自:http://www.cnblogs.com/AaronYang/archive/2012/04/24/2468093.html Sql Server 基础语法 -- 查看数据表 select ...
- 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 ...
- SQL Server基础之索引
索引用于快速找出在某个列中有某一特定值的行,不使用索引,数据库必须从第一条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,数据库能快速到达一个位置 ...
随机推荐
- Goldengate trial队列维护
查看进程信息: Info replicat_name $Info replicat_name showch 注: 可以查看到详细的关于checkpoint的信息,用于查看GoldenGate进程处 ...
- 关于NopCommerce3.6版用户登录详解
一.登录方式 Nop登录方式有两种(且只能选择一种方式登录):一种是用用户名登录,另一种是用户注册邮箱登录,这个在后台可配置: 第一种:用户名登录 后台配置路径在商城设置à设置管理à客户设置:使用用户 ...
- 操作系统是怎么工作的——mykernel环境的搭建
可以参见:https://github.com/mengning/mykernel 首先感谢:http://www.euryugasaki.com/archives/1014 1.搭建实验环境(实验环 ...
- Java基础——多线程
Java中多线程的应用是非常多的,我们在Java中又该如何去创建线程呢? http://www.jianshu.com/p/40d4c7aebd66 一.常用的有三种方法来创建多线程 新建一个类继承自 ...
- TCP/IP详解学习笔记(8)-- UDP:用户数据报协议
1.UDP概述 UDP是一种无连接的, 即发送数据前不需要建立连接,因此减小的开销和发送数据的延迟. UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表. UDP是面向报文 ...
- IE CSS HACK
IE 属性值 HACK .test { background:blue; /*所有浏览器*/ background:yellow\9; /*所有IE浏览器*/ background:green\0; ...
- C# 后台请求web服务方法
/// <summary> /// 传输方法 /// </summary> /// <param name ...
- MSSQL Server Transaction 数据库事务回滚的用法
使用的表结构如下: Commit TransAction Else Rollback TransAction/* 自定义一个变量来判断最后是否发生过错误.*/ ...
- WP8_UTF8 to GB2312转码 (url网址中带中文字符的处理)
直接使用例如:http://www.abc.php?name=中文符 ,客户端调用,在服务端修改后,会出现乱码, 而windows phone 又不能直接支持gb2312, 经过大量分析和验证,发现 ...
- php实现树状结构无级分类
php实现树状结构无级分类 ).",'树2-1-1-2')";mysql_query($sql);?>