关于关系代数连接运算的介绍请查看下面链接

http://www.cnblogs.com/xidongyu/articles/5980407.html

连接运算格式

链接运算由两部分构成:连接类型和连接条件

连接类型可分为:

  • INNER JOIN 内连接
  • LEFT OUTER JOIN   左外连接
  • RIGHT  OUTER JOIN  右外连接
  • FULL OUTER JOIN 全外连接

连接条件可分为

  • NATURAL   自然连接(去掉重复属性)
  • ON   连接条件(保留重复属性)
  • USING 属性名1,属性名2… (保留指定重复属性)

具体的组合有以下几种形式

注意:MYSQL没有全外连接

  • table1 INNER JOIN table2 ON 链接条件

SELECT *
FROM teacher INNER JOIN course
ON teacher.tn = course.tn

上面的SQL语句中做了等值内连接,我们看到tn属性是重复的

  • table1 INNER JOIN table2 USING (公共属性名)

SELECT *
FROM teacher INNER JOIN course
USING (tn)

以USING中的属性作为连接条件(属性值相等才连接),并去掉重复属性(tn)

  • table1 LEFT JOIN table2 ON 链接条件

SELECT *
FROM teacher LEFT OUTER JOIN course
ON teacher.tn = course.tn

左外连接会保留table1中的元组在结果集中不丢失,使用ON条件,不去掉重复元组

  • table1 LEFT JOIN table2 USING (tn)

SELECT *
FROM teacher LEFT OUTER JOIN course
USING (tn)


效果与上图一致,只是去掉重复属性(tn)

  • table1 RIGHT JOIN table2 USING (tn)

SELECT *
FROM teacher RIGHT OUTER JOIN course
USING (tn)


保留table2中的元组

  • table1 NATURAL LEFT/RIGHT OUTER JOIN table2

SELECT *
FROM teacher  NATURAL LEFT OUTER JOIN course


这个就是自然连接了,自然连接只能用在外连接当中,并且使用自然连接是两个表中的公共属性都需要进行等值判断

SQL中的内连接与外连接的更多相关文章

  1. mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化

    先附上数据. CREATE TABLE `course` ( `cno` ) NOT NULL, `cname` ) CHARACTER SET utf8 NOT NULL, `ctime` ) NO ...

  2. SQL中的连接可以分为内连接,外连接,以及交叉连接 。

    SQL中的连接可以分为内连接,外连接,以及交叉连接 . 1. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积: 举例, ...

  3. 【SQL】SQL中笛卡尔积、内连接、外连接的数据演示

    SQL的查询语句中,常使用到内连接.外连接,以及连接的基础--笛卡尔积运算. 在简单的SQL中,也许我们还分辨清楚数据如何连接,一旦查询复杂了,脑子也犯浆糊了,迷迷糊糊的. 本文,简单以数据形式记录连 ...

  4. SQL Server中内连接和外连接的区别

    SQL Server中内连接和外连接的区别 假设一个数据库中有两张表,一张是学生表StudentInfo,一张是班级表ClassInfo,两张表之间用ClassId字段进行关联. 如果用内连接,正常的 ...

  5. SQL Server中的连接查询(内连接、外连接、交叉连接)

    在数据库查询中,经常会用到两个有关联的表进行查询,需要把两个表中的数据按照某些条件查出来,这时就可以使用连接查询 连接查询分为三种:内连接.外连接和交叉连接 1. 内连接 内连接inner join ...

  6. 你真的会玩SQL吗?和平大使 内连接、外连接

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  7. SQL - 内连接与外连接

    PDF下载地址:SQL-内连接与外连接.pdf 连接查询在关系型数据库中经常用到,是多表联合查询的基础. 主要包含:内连接,外连接,交叉连接. SQL - 内连接与外连接 内连接 等值连接 不等值连接 ...

  8. 转:SQL的内连接与外连接

    参考:http://www.cuiyongjian.com/post-130.html 在oracle的SQL语句常用的连接有内连接(inner join),外连接(outer join)等,内连接又 ...

  9. SQL的内连接与外连接

    转自:http://blog.csdn.net/killerggf/article/details/6216102 有两个表A和表B.  表A结构如下:  Aid:int:标识种子,主键,自增ID   ...

  10. 你真的会玩SQL吗?内连接、外连接

    原文:你真的会玩SQL吗?内连接.外连接 大多数人一般写多表查询会这样写select * from tbA ,tbB  没有用到JOIN关键字,太Low了,官网标准建议是用JOIN明确表间的关系,下面 ...

随机推荐

  1. android WebView网页浏览器

    组件位置:composite>WebView .xml <WebView android:id="@+id/webview_pipeweb" android:layou ...

  2. Linux 解压缩命令

    gzip 文件 压缩文件 gzip -d 文件 解压文件 zcat  查看以结尾为zip 文件 bzip2 压缩文件 bzip2 -d 文件 解压文件 bzcat 查看以结尾为zip2 文件 zip ...

  3. CentOS6.5搭建LNMP

      1:查看环境: ? 1 2 [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 ...

  4. SCCM 客户端的修复

    1. Stopping the SMS Agent Host service (net stop ccmexec) 2. Stopping the WMI service (net stop winm ...

  5. python log

    python的日志模块为logging,它可以将我们想要的信息输出保存到一个日志文件中. # cat log import logging logging.debug('This is debug m ...

  6. DPM检测模型 VoC-release 5 linux 下编译运行

    (转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) DPM目前使非神经网络方法 ...

  7. URL和URI的区别和联系

         URI:Universal Resource Identifier,通用资源标识符:   URL:Uniform Resource Locator,统一资源定位符:       其中,URL ...

  8. 搞netty

    开始搞netty了 查了下资料 在使用NIO 的时候,最好不要配置 SO_LINGER,假设设置了该參数,在 close的时候如缓冲区有数据待写出,会抛出 IOException. // 在netty ...

  9. jprofiler安装图解

    环境: 1.sun jdk1.6.0 2.jprofiler_windows_6_0_2.exe 安装 1. jdk, 安装略... 2. jprofiler安装 一路next 到Enter lice ...

  10. [No00001A]天天换图,百词斩到底在折腾啥