连接(交叉连接、内连接、外连接、自连接)
本文非原创
可分为:交叉连接、内连接、外连接、自连接
1.使用交叉连接:
它是非限制连接,就是将两个表格不加任何条件的组合在一起,
即第一个表格的所有记录分别和第二个表格的每一条记录相连接
组合成新的记录,连接后结果集的行数是两个表格的行数的乘积,
列为两表列之和。
语法: (1)select 列名列表 from 表名1 cross join 表名2
(2)select 列名列表 from 表名1 (起别名) , 表名2
注意:当显示某一些字段要用表名指定。
例:select a.book_name , b.book_num from table1 a , table2 b
2.使用内连接:
内连接是将两个表中满足条件的记录显示出来,就是在交叉连接的
基础上加条件,一般采用“主键 = 外键”的形式。
语法:(1)select 列名列表 from 表名1 [inner] join 表名2 on 条件表达式
(2)select 列名列表 from 表名1 , 表名2 where 条件表达式
例:select * from table1 a join table2 b on a.book_name = b.book_name
3.使用外连接:
外连接分为:左外连接、右外连接、全外连接
(1)左外连接:
它是将左表中的所有数据分别与右表的每一条数据进行组合,
结果集中除了显示内连接的记录外,还显示左表中不符合条
件的记录,并在右表中相应的列上填 Null 值.
语法: select * from 表名1 left [outer] join 表名2 on 条件表达式
(2)右外连接:
它是将右表中的所有数据分别与左表的每一条数据进行组合,
结果集中除了显示内连接的记录外,还显示右表中不符合条
件的记录,并在左表中相应的列上填 Null 值.
语法: select * from 表名1 right [outer] join 表名2 on 条件表达式
(3)全外连接:
全外连接就是左表中的所有记录分别与右表中的每一条进行组合,
结果集中除返回内部连接记录之外,还要显示出两个表中不符合
条件的全部记录,并在左表、右表中对应的位置添上Null 值。
语法: select * from 表名1 full join 表名2 on 条件表达式
4.使用自连接:
自连接就是一张表的两个副本之间的连接,就是将同一个表的
不同行连接起来;使用自连接时,必须为本表指定两个别名,
使其在逻辑上成为两个表。
例: select a.biao_jia , a.biao_liang from qian a join qian b
on a.biao_jia = b.biao_jia and a.biao_liang <> b.biao_liang
5. 合并结果集:
使用union 语句可以把两个以上的结果集合并为一个结果集。
语法: select …………
union
select …………
:
:
合并结果集时有以下三点限制:
(1)union 合并的结果集的两个 select 语句的列数相同,
所使用列的数据类型要对应相同;
(2)最后结果集中的列名来自第一个 select 语句;
(3)在合并结果集时,默认将从最后结果集中删除重复的行,
除非使用关键字。
例:select book_name , book_id into #new_1 from YI
go
select egg_name , egg_shu into #new_2 from egg
go
select * from #new_1
union all
select * from # new_2
转载于:https://www.cnblogs.com/xieyuanzheng/p/5597089.html
连接(交叉连接、内连接、外连接、自连接)相关推荐
- mysql a左外连接b b左外连接c_数据库中的 内连接,外连接(左连接,左外连接,右连接,右外连接),全连接,交叉连接...
数据库的连接类型:内连接,外连接,全连接 ,交叉连接 作用:连接是关系数据库的特点,数据的关联查询用到 多表连接 提高查询效率 前段时间面试被问到数据库的内连接和外连接的问题,进过一番周折的无师自通, ...
- Oracle 内、外连接
一.Oracle连接类型 ☆说明:按照自己的理解划分的类型,并不是官方定义. 1.内连接 ①等值连接 ②非等值连接 ③自然连接 2.外连接 ①左外连接 ②右外连接 ③全外连接 二.表数据准备 ...
- 左连接、右连接、交叉连接、全外连接
第一部分.连接查询 一.内连接 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值.内连接分三种: 1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询 ...
- 数据库:区分笛卡儿积、自然连接、内连接、等值连接、外连接
假设存在两张表 c 和 p,这里使用的是MySQL数据库. 数据表 c: course_id title dept_name credits BIO-301 Genetics Biology 4 CS ...
- oracle左外连接语法,Oracle 左外连接、右外连接、全外连接小总结
Oracle 左外连接.右外连接.全外连接小总结: 1.左外连接: left outer join 或者 left join 左外连接就是在等值连接的基础上加上主表中的未匹配数据,例: SELECT ...
- LINQ IN ACTION读书笔记:LINQ 使用连接 1、组连接 2、内连接 3、左外连接 4、交叉连接 使用和区别...
使用的数据源类型: static public class SampleData{static public Publisher[] Publishers ={new Publisher {Name= ...
- oracle 连接查询(内、外连接、自连接、子查询)
内连接: 一般使用inner join来实现.其中inner关键字可以省略 同时必须在from子句之后定义一个on子句,用来指定连接条件 外连接 1 左外连接:关键字为left outer join或 ...
- SQL的内连接、左连接、右连接、 交叉连接、全外连接
sql表连接分成 外连接 . 内连接 和 交叉连接.. 外连接包括三种,分别是左外连接.右外连接.全外连接.. 对应的sql关键字:LEFT/RIGHT/FULL OUTER JOIN,通常我们都省略 ...
- oracle内与外连接,Oracle (内连接)与(外连接)区别
表stu id name 1, Jack 2, Tom 3, Kity 4, nono 表exam id grade 1, 56 2, 76 11, 89 内连接(显示两表匹配的id) select ...
- 理解内连接中的隐式内连接、显式内连接和外连接中的左外连接、右外连接
一.多表查询 二.在 MySQL 中创建 book 和 actor 两张表 1 创建 book 表及添加数据 CREATE TABLE `book` (`id` INT PRIMARY KEY NOT ...
最新文章
- Vue生命周期函数详解
- Java Setamp;HashSet
- 浙江大学PAT考试1009~1012(1010上帝是冠军。。)
- 每日一皮:没有好好测试就运行,还自信的不得了...
- 在线html表格设计器,6款优秀的在线表单设计器
- 12v60ah锂电池组装图_锂电池基本参数,结合电动自行车电池应用分析
- 蛮力算法百元百鸡java_每日一算法:百元百鸡
- 使用Android应用调用WebService实现天气预报
- React Native(四)——顶部以及底部导航栏实现方式
- iOS开发之CoreSpotlight框架的应用
- 10个python爬虫入门实例(小结)
- 雷达存在感应器技术,实时感知控制应用,雷达人体探测方案
- Windows10三月更新后,电脑打印文件时蓝屏解决方案
- LABVIEW详细介绍:LABVIEW是什么软件?都可以干什么?
- C# 中Session的用法
- 在windows10上安装texlive的参考文档
- QT自定义控件设置文本过长时显示点点点……
- LTE终端能力等级 Category
- [Vue-Treeselect Warning] Unloaded branch node detected. “loadOptions“ prop is required to load its c
- Java语言程序设计基础篇(第十版 梁勇著)课后习题答案 - 第二章
热门文章
- matlab的exec程序,C++调用Matlab画图的一段程序
- LeetCode 1021 删除最外层的括号
- 《地下城与勇士歼灭贝内尔》回合格斗
- python redis pipeline使用方法_python使用pipeline批量读写redis的方法
- css 竖行进度图_前端学习--汇集了大量 CSS 的使用和学习的示例代码
- java中给组合框加监听器,如何区分ActionEvent中的多个组合框
- 光端机的原理和使用范围
- 什么是网络光端机?网络光端机工作原理及功能介绍!
- [渝粤教育] 南宁师范大学 聆听中国(南宁师范大学慕课) 参考 资料
- 【应用】如何更好的简化工业现场采集控制?