SQL Left、Right Join等操作符总结

1、在tableA与tableB中查询tableA中全部数据和tableB中在tableA中的数据

select * from tableA A left join tableB B on A.key=B.key

2、在tableA中查询排除tableB中数据,剩余的tableA中的数据

select * from tableA A left join tableB B on A.key=B.key where B.key is null

3、查询tableA与tableB中所有的数据

select * from tableA A full outer join tableB B on A.key=B.key

4、查询tableA与tableB两表之外的数据

select * from tableA A full outer join tableB B on A.key=B.key where A.key is null or B.key is null

5、查询tableA与tableB中共同的数据

select * from tableA A inner join tableB B on A.key=B.key

时间: 2024-11-05 15:47:54

SQL Left、Right Join等操作符总结的相关文章

sql语句的join用法

sql的join分为三种,内连接.外连接.交叉连接. 以下先建2张表,插入一些数据,后续理解起来更方便一些. create table emp(empno int, name char(20),depart int);create table depart(dpno int,dpname char(20));insert into emp values (1,'bell',1);insert into emp values (2,'smith',2);insert into emp values

sql之left join、right join、inner join的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行 举例如下: --------------------------------------------表A记录如下:aID aNum1 a200501112 a200501123 a200501134 a200501145 a20050115 表B记录如下:bID bNa

LINQ TO SQL 中的join(转帖)

http://www.cnblogs.com/ASPNET2008/archive/2008/12/21/1358152.html join对于喜欢写SQL的朋友来说还是比较实用,也比较容易接受的东西.在LINQ TO SQL中,写多表查询,同样可以写join,只是它有它自己的语法要求而已,语义都是一样的,下面我来讲下LINQ TO SQL中的join最基本的形式:都是最简单的,当然还有其它方面的内容,如:怎样加上过滤条件,如何分组,如何排序等等,为了单纯说join的用法,这里就简化下. Cod

30秒懂SQL中的join

30秒懂SQL中的join 注:本文仅仅是本人在网上看到的比较好的文章,为了以后复习方便,就文章 完全复制下来.原文地址如下:http://www.habadog.com/ 预先生成两张测试表,并插入一下测试数据: create table t1(id int, name char(10), primary key (id)); create table t2(id int, score int, primary key (id)); insert into t1 values(1, “lucy

sql 之left join、right join、inner join的区别

sql之left join.right join.inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行 举例如下: -------------------------------------------- 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a

SQL语句Left join 中On和Where的用法区别

SQL语句如下: SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.id = 表2.id AND 表2.Name != 'ff'WHERE 表1.NAME != 'aa' 步骤1:返回笛卡尔积(SELECT * FROM 表1 CROSS JOIN 表2) 步骤2:应用ON筛选器(当前的条件为  表1.id = 表2.id AND 表2.Name != 'ff') 步骤3:添加外部行 这一步只对OUTER JOIN起作用,如果是LEFT JOIN会以左边的表为保留表,如果是

[19]SQL FULL OUTER JOIN 关键字

[19]SQL FULL OUTER JOIN 关键字 FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行. FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果. SQL FULL OUTER JOIN 语法 SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.col

sql的left join 、right join 、inner join之间的区别

sql中left join .right join .inner join之间的区别 left join (左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 : right join (右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: inner join (等值连接) 只返回两个表中联结字段相等的行. 原文地址:https://www.cnblogs.com/baixiuhua/p/8862076.html

Lamda 表达式里的Join和GroupJoin的区别, 如何实现SQL的Left Join效果

例如,可以将产品表与产品类别表相联接,得到产品名称和与其相对应的类别名称 db.Products .Join ( db.Categories, p => p.CategoryID, c => c.CategoryID, (p, c) => new {p,c.CategoryName} ) .Where(p => p.CategoryID == 1); 这个Join对应SQL里的inner Join, 这个很容易理解. 上面代码里红色的c的类型是Category 如果我要达到SQL里

SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别

前言: 今天主要的内容是要讲解SQL中关于Join.Inner Join.Left Join.Right Join.Full Join.On. Where区别和用法,不用我说其实前面的这些基本SQL语法各位攻城狮基本上都用过.但是往往我们可能用的比较多的也就是左右连接和内连接了,而且对于许多初学者而言不知道什么时候该用哪种语法进行查询,并且对于左右,或者内连接查询的时候关于ON 和Where 的作用也是模糊不清的,说不出其中的一个大概的差别,因此接下来请容我把它们好好描述一遍. 数据库(MS S