inner join和outer join

内连接           只连接匹配的行

左外连接        包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行

A left join B等价于A left outer join B

右外连接        包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行

A right join B

全外连接        包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。A full outer join B

例:

SELECT column_name(s)FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name
时间: 2024-12-19 13:55:15

inner join和outer join的相关文章

SQL中inner join、outer join和cross join的区别

摘自:http://blog.csdn.net/scythe666/article/details/51881235 缺省情况下是inner join,开发中使用的left join和right join属于outer join,另外outer join还包括full join.下面我通过图标让大家认识它们的区别. 现有两张表,Table A 是左边的表.Table B 是右边的表.其各有四条记录,其中有两条记录name是相同的: 1.INNER JOIN 产生的结果是AB的交集 SELECT

SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)

原文链接:http://www.powerxing.com/sql-join/ 总的来说,四种JOIN的使用/区别可以描述为: left join 会从左表(shop)那里返回所有的记录,即使在右表(sale_detail)中没有匹配的行. right outer join 右连接,返回右表中的所有记录,即使在左表中没有记录与它匹配 full outer join 全连接,返回左右表中的所有记录 在表中存在至少一个匹配时,inner join 返回行. 关键字inner可省略. 具体可以看sta

SQL夯实基础(一):inner join、outer join和cross join的区别

一.数据构建 先建表,再说话 create database Test use Test create table A ( AID int identity(1,1) primary key, name nvarchar(50), age int ) create table B ( BID int identity(1,1) primary key, name nvarchar(50), gender int ) 创建完之后,插入数据 insert A(name,age)values('张三'

SQL中inner join,outer join和cross join的区别

使用join连表,缺陷的情况下是inner join,开发中使用的left join和right join属于outer join,outer join还包括full join 现有两张表,Table A 是左边的表.Table B 是右边的表.其各有四条记录,其中有两条记录name是相同的: 1.INNER JOIN 产生的结果是AB的交集 SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name 2.LEFT [O

SQL中inner join、left join、right join、outer join之间的区别

举个例子你就能知道了! A表(a1,b1,c1)      B表(a2,b2) a1   b1   c1       a2    b2 01   数学 95       01    张三 02   语文 90       02    李四 03   英语 80       04    王五 select A.*, B.* from A inner join B on(A.a1=B.a2) 结果是:  www.2cto.com a1   b1   c1       a2    b2 01   数学

SQL中的left outer join,inner join,right outer join用法详解

这两天,在研究SQL语法中的inner join多表查询语法的用法,通过学习,发现一个SQL命令,竟然涉及到很多线性代数方面的知识,现将这些知识系统地记录如下: 使用关系代数合并数据1 关系代数合并数据集合的理论基础是关系代数,它是由E.F.Codd于1970年提出的.在关系代数的形式化语言中:?          用表.或者数据集合表示关系或者实体.?          用行表示元组.?          用列表示属性.关系代数包含以下8个关系运算符?          选取――返回满足指定条

LINQ to SQL系列四 使用inner join,outer join

先看一个最简单的inner join,在读取Student表时inner join Class表取的对应的Class信息: static void Main(string[] args) { using (var writer = new StreamWriter(WatchSqlPath, false, Encoding.UTF8)) { using (DbAppDataContext db = new DbAppDataContext()) { db.Log = writer; //inne

Mysql 多表连接查询 inner join 和 outer join 的使用

JOIN的含义就如英文单词"join"一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接.这里描述先甩出一张用烂了的图,然后插入测试数据. 首先先列举本篇用到的分类(内连接,外连接,交叉连接)和连接方法(如下): A)内连接:join,inner join B)外连接:left join,left outer join,right join,right outer join,union C)交叉连接:cross join 案例表: t_users: t_departme

SQL----Inner Join、 Outer Join、Cross Join理解

多表的查询,会涉及到Join操作 总结一下查询的种类和使用方法. 准备数据: 假设有两个表,学生和班级. create table Stu ( Stu_no varchar(10), Class_no nvarchar(10) primary key(Stu_no) ) create table Class( Class_no nvarchar(10), Class_teacher nvarchar(10) primary key(Class_no) ) insert into Stu valu