SQL:

外连接和内连接:

左连接或左外连接:包含左边的表的所有行,如果右边表中的某行没有匹配,该行内容为空(NULL)

--outer jion:left join or left outer join

select * from dbo.Project left join dbo.Voice on (dbo.Project.voiceID=dbo.Voice.ID)

右连接或右外连接:包含右边表的所有行,如果左边表中的某行没有匹配,该行内容为空(NULL)

--outer jion:right join or right outer join

select * from dbo.Project right join dbo.Voice on(dbo.Project.voiceID=dbo.Voice.ID)

完全连接或完全外连接:涵盖左连接与右连接,包含两张表中的所有行,不匹配的内容为空(NULL)

--outer join:full join or full outer join

select * from dbo.Project full join dbo.Voice on (dbo.Project.voiceID=dbo.Voice.ID)

内连接:

--join or inner join

select * from dbo.Project inner join dbo.Voice on (dbo.Project.voiceID=dbo.Voice.ID)

select * from dbo.Project,dbo.Voice where (dbo.Project.voiceID=dbo.Voice.ID)

select p.ID,p.Name,p.bak,v.NAME from dbo.Project p join dbo.Voice v on(p.voiceID=v.ID)

交叉连接:(1)分为没有where子句的交叉连接将产生连接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。

--cross join

select * from dbo.Project cross join dbo.Voice

select * from dbo.Project cross join dbo.Voice where (dbo.Project.voiceID=dbo.Voice.ID)

--两表关系为一对多,多对一,多对多的连接语句

select p.Name,v.NAME from dbo.Project_Voice as pv left join dbo.Voice as v on v.ID=pv.voiceID left join dbo.Project as p on p.ID=pv.projectID

select p.Name,v.NAME from dbo.Project_Voice as pv left join dbo.Voice as v on v.ID=pv.voiceID left join dbo.Project as p on p.ID=pv.projectID

where p.voiceID=v.ID

LINQ:(概念和结果参考sql语句的)

左连接:

var userInfo = from s in db.Project

join c in db.Voice on s.voiceID equals c.ID into ProjectV

from pv in ProjectV.DefaultIfEmpty()

select new { s.Name,s.bak,pv.NAME,s.ID};

右连接:

var userInfo = from c in db.Voice

join s in db.Project on c.ID equals s.voiceID into PV

from pv in PV.DefaultIfEmpty()

select new { pv.Name,pv.bak,pv.ID,c.NAME};

内连接:

var userInfo = from s in db.Project

join c in db.Voice on s.voiceID equals c.ID

select new { s.Name, s.bak, c.NAME, s.ID };

SQL&&LINQ:左(外)连接,右(外)连接,内连接,完全连接,交叉连接,多对多连接的更多相关文章

  1. my sql 下左连接 右链接、内连接等应用,INNER JOIN LEFT JOIN RIGHT JOIN

    1.数据准备 建两个表格: create table student (idstu int, namestu ) ); ,"张三")(,"李四"),(,&quo ...

  2. Linq中的左连,右连,内连

    1.左连接: var LeftJoin = from emp in ListOfEmployeesjoin dept in ListOfDepartmenton emp.DeptID equals d ...

  3. 【SQL Server】左联接,右联接,内联接的比较

    首先需要解释一下这几个联接的意思: left join(左联接): 返回包括左表中的所有记录和右表中联结字段相等的记录. right join(右联接): 返回包括右表中的所有记录和左表中联结字段相等 ...

  4. 详解SQL Server连接(内连接、外连接、交叉连接)

    在查询多个表时,我们经常会用“连接查询”.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据 ...

  5. MSSQL 详解SQL Server连接(内连接、外连接、交叉连接)

    在查询多个表时,我们经常会用“连接查询”.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据 ...

  6. 内连接,外链接(左连接、右连接、全连接),交叉连接大总结+附SQL JOINS图解[转]

    1.什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据. 目的:实现多个表查询操作. 2.分类: 首先划分一下,连接分为三种:内连接.外连接.交叉连接 内连接(INNER ...

  7. SQL的几种连接:内连接、外连接(左连接、右连接、全连接)

    表结构见前面博客 1.内连接 1.1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列. 三种写法: select * from t ...

  8. 【SQL】连接 —— 内连接、外连接、左连接、右连接、交叉连接

    连接 · 内连接 · 外连接 · 左连接 · 右连接 · 全连接 · 交叉连接 · 匹配符号(+)  连接  根据表之间的关系,呈现跨表查询的结果.     外连接     内连接 左连接 右连接 全 ...

  9. SQL 各种连接:内连接,外连接(左外,右外,完全外)

    在讲述之前,假设有如下两个表EMP, DEPT, 并且他们数据如下:

随机推荐

  1. PHP中空字符串介绍0、null、empty和false之间的关系

    PHP中空字符串介绍0.null.empty和false之间的关系 作者: 字体:[增加 减小] 类型:转载 时间:2012-09-25   用PHP开发那么久,PHP中空字符串.0.null.emp ...

  2. DHCP Set Hostname

    参考: FreeBSD DHCP Set Hostname ( Empty Hostname After Reboot ) -- http://www.cyberciti.biz/faq/freebs ...

  3. Android开发常见问题系列之一:eclipse中adb.exe启动失败或者无法启动

    这种情况下大多数是因为存在kadb.exe在执行,或者adb.exe端口被占用. 1,检查是否存在kadb.exe程序正在执行 打开任务管理器,打开详细信息,按照字母顺序找到kadb.exe,结束进程 ...

  4. iOS/OS X线程安全的基础知识

    处理多并发和可重入性问题,是每个库发展过程中面临的比较困难的挑战之一.在Parse平台上,我们尽最大的努力保证你在使用我的SDKs时所做的操作都是线程安全的,保证不会出现性能问题. 在这篇文章中我们将 ...

  5. JSP和Server的相互转化

    [设计想法] [前置条件] 1. eclipse的web环境已经搭建OK 2. eclipse已经存在web项目"firstweb" [操作步骤] 1. "firstwe ...

  6. CSS3动画产生圆圈由小变大向外扩散的效果

    涉及到 CSS3 的动画(animation).2D 转换(transform: scale),具体如代码所示. github: https://github.com/wind-stone/CSS3- ...

  7. jQuery源代码阅读之一——jQuery总体结构及jQuery构造函数

    一.jQuery总体架构 jQuery作为一款强大的js库,由以下模块构成: (function(window,undefined){ var jQuery=function(selector,con ...

  8. VS2012+Win7网站发布详细步骤

    VS2012+Win7网站发布详细步骤 本机环境: 本文分三个部分介绍Web项目发布的常规方法,大神级别可以略过,主要是为了方便一些初学者. 第一部分:VS2012把项目发布到文件系统. 第二部分:I ...

  9. mac上mysql乱码问题解决

    一.mysql出现乱码问题: 出现的问题是下图这样的乱码问题,我是使用java在做练习的时候发现出现字符集编码问题的: 当时是使用jdbc来添加的数据,我的jdbc包括web前端后端的编码都是设置的是 ...

  10. Debian系列Linux/Ubuntu 安装软件

    wps(http://community.wps.cn/download/) 优客天气(https://launchpad.net/indicator-china-weather/+download) ...