用SQL表达连接与外连接
关系代数运算中,有连接运算,又分为θ连接和外连接
标准SQL语言中连接运算通常是采用
SELECT 列名[[,列名]...]
FROM 表名1,表名2,...
WHERE 检索条件;
SQL的高级语法中引入了内连接与外连接运算,具体形式:
SELECT 列名[[,列名]...]
FROM 表名1[NATURAL][INNER|{LEFT|RIGHT|FULL}[OUTER]]JOIN 表名2
{ON 连接条件 | USING (Colname{,Colname...})}
[WHERE 检索条件;]
上例的连接运算由两部分构成:连接类型和连接条件
连接类型(四选一):inner join、left outer join、right outer join、full outer join
连接条件(三选一):natural、on <连接条件>、using(Col1,Col2,...,Coln)
连接中使用
natural:出现在结果关系中的两个连接关系的元组在公共属性上取值相等,且公共属性只出现一次。连接中使用
on<连接条件>:(θ连接)出现在结果关系的两个连接关系的元组取值满足连接条件,且公共属性出现两次连接中使用
using(Col1,Col2,...,Coln):(Col1,Col2,...,Coln)是两个连接关系的公共属性子集,元组在(Col1,Col2,...,Coln)上取值相等,且(Col1,Col2,...,Coln)只出现一次
用SQL表达连接与外连接的更多相关文章
- 你真的会玩SQL吗?和平大使 内连接、外连接
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化
先附上数据. CREATE TABLE `course` ( `cno` ) NOT NULL, `cname` ) CHARACTER SET utf8 NOT NULL, `ctime` ) NO ...
- SQL - 内连接与外连接
PDF下载地址:SQL-内连接与外连接.pdf 连接查询在关系型数据库中经常用到,是多表联合查询的基础. 主要包含:内连接,外连接,交叉连接. SQL - 内连接与外连接 内连接 等值连接 不等值连接 ...
- SQL中的连接可以分为内连接,外连接,以及交叉连接 。
SQL中的连接可以分为内连接,外连接,以及交叉连接 . 1. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积: 举例, ...
- 【SQL】SQL中笛卡尔积、内连接、外连接的数据演示
SQL的查询语句中,常使用到内连接.外连接,以及连接的基础--笛卡尔积运算. 在简单的SQL中,也许我们还分辨清楚数据如何连接,一旦查询复杂了,脑子也犯浆糊了,迷迷糊糊的. 本文,简单以数据形式记录连 ...
- 转:SQL的内连接与外连接
参考:http://www.cuiyongjian.com/post-130.html 在oracle的SQL语句常用的连接有内连接(inner join),外连接(outer join)等,内连接又 ...
- SQL的内连接与外连接
转自:http://blog.csdn.net/killerggf/article/details/6216102 有两个表A和表B. 表A结构如下: Aid:int:标识种子,主键,自增ID ...
- SQL Server中内连接和外连接的区别
SQL Server中内连接和外连接的区别 假设一个数据库中有两张表,一张是学生表StudentInfo,一张是班级表ClassInfo,两张表之间用ClassId字段进行关联. 如果用内连接,正常的 ...
- 你真的会玩SQL吗?内连接、外连接
原文:你真的会玩SQL吗?内连接.外连接 大多数人一般写多表查询会这样写select * from tbA ,tbB 没有用到JOIN关键字,太Low了,官网标准建议是用JOIN明确表间的关系,下面 ...
随机推荐
- 解释型语言VS编译型语言
前言 计算机不能直接理解除机器语言以外的语言,所以只有把程序员编写的程序翻译成机器语言,计算机才能够执行程序. 将其他语言翻译成机器语言的工具,被称之为:编译器. 编译器的翻译方式有两种:编译和解释. ...
- WPF中查看PDF文件之MoonPdfLib类库
最近研究了两种PDF文件查看器,MoonPdfLib或者AdobeReader. 今天先说第一种,在网上扒到的很好的WPF中用MoonPdf类库来展示PDF文件. 在Sourceforge上下载到Mo ...
- 基于Linux下catalog方式的 Oracle 备份策略(RMAN)
--********************************** -- 基于Linux下 Oracle 备份策略(RMAN) --******************************* ...
- tensorflow 训练之tensorboard使用
1.add saclar and histogram tf.summary.scalar('mean', mean) tf.summary.histogram('histogram', var) 2. ...
- python defaultdict模块
from collections import defaultdict '''默认值字典'''d = defaultdict(lambda :123)print(d)print(type(d))pri ...
- [Alpha阶段]事后分析博客
目录 Alpha阶段事后分析博客 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 讨论照片 Alpha阶段事后分析博客 作业要求:Alpha阶段事后分析 设想和 ...
- Debate CodeForces - 1070F (贪心)
Elections in Berland are coming. There are only two candidates — Alice and Bob. The main Berland TV ...
- C#创建安装、卸载部署程序
分享3: 需求:对已经开发的应用程序进行安装封装操作,即创建安装.卸载部署程序: 分析:程序的开发是为了在不同的人在不同的机器上使用,为了使不同机器使用该软件就需要见程序安装包,并且保证安装包中必须包 ...
- Echarts学习之路3(在react中使用)
安装: npm install echarts --save demo import React, { Component } from 'react'; // 引入 ECharts 主模块 impo ...
- mysql 索引中的USING BTREE 的意义
索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型. 根据存储引擎定义每个表的最大索引数和最大索引长度.所有存储引擎支持每个表至少16个索引,总 ...