SQL常用连接查询(JOIN)
一、连接查询分类:
1.交叉连接(不常用):
返回被连接的两个表所有数据行的笛卡尔积;
返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查 询条件的数据行数。
2.内连接:
inner join 或 join
3.外连接
左外连接:left join 或 left outer join
右外连接:right join 或 right outer join
完全外连接:full join 或 full outer join
二、连接查询实例:
数据库中有两张表,一张人员(T_Person)表、一张卡(T_Card)表
内连接
1.内连接(inner join 或 join)
内连接是等值连接,它使用“=、>、<、<>”等运算符根据每个表共有的列的值匹配两个表中的行
查询语句:
select * from T_Person inner join T_Card on T_Person.CardId = T_Card.CardId
查询结果:
外连接
1.左连接(left join 或 left outer join)
左连接又称左向外连接,查询的结果集包括SQL语句中左表的所有行,右表中匹配的行。如果左表的某行在右表中没有匹配行,则用空值表示
查询语句:
select * from T_Person left join T_Card on T_Person.CardId = T_Card.CardId
查询结果:
2.右连接(right join 或 right outer join)
右连接也成右向外连接,查询的结果集包括SQL语句中右表的所有行,左表中匹配的行。如果右表的某行在左表中没有匹配的行,则用空值表示
查询语句:
select * from T_Person right join T_Card on T_Person.CardId = T_Card.CardId
查询结果:
3.完全外连接(full join 或 full outer join)
完全外连接,查询的结果集包括SQL语句中左表和右表的所有行。如果某行在另一个表中没有匹配行时,则用空值表示。
查询语句:
select * from T_Person full join T_Card on T_Person.CardId = T_Card.CardId
查询结果:
SQL常用连接查询(JOIN)相关推荐
- (四)sql多表连接查询join on的用法
(四)sql多表连接查询join on的用法总结 需要用到的表信息如下: EMP职员表: dept部门信息表和salgrade薪资等级表: 1. 多表连接 没有任何条件限制,即笛卡儿积,产生的记录数目 ...
- 浅谈sql之连接查询
SQL之连接查询 一.连接查询的分类 sql中将连接查询分成四类: 内链接 外连接 左外连接 右外连接 自然连接 交叉连接 二.连接查询的分类 数据库表如下: 1.学生表 2.老师表 3.班级表 表用 ...
- sql语句连接查询.
sql语句连接查询. 接触sql语句这么长时间了,牵涉到连接的时候,总是google别人的. 今天好好学学sql 的连接查询 准备工作 : mysql5.6 建表语句 查询语句 select p.id ...
- SQL 数据库 连接查询 变量、if else、while
一.连接查询:通过连接运算符可以实现多个表查询. 连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 常用的两个链接运算符: 1.join on(左右连接) 2.uni ...
- oracle 查询连接方法,Oracle 常用连接查询方法和函数
Oracle常用的连接查询方法(以oracle自带的表做的练习),left join是以左表的记录为基础的,左表中的记录会全部显示,右表只显 一:Oracle常用的连接查询方法(以oracle自带的表 ...
- sql三表连接查询 - 使用sqlite 演示
表: 人员表,职位表,部门表: 现在要做的是:列出所有人员,以及他们所属的部门和职位: 由于要列出tb_user中的每一条记录,需要用左连接查询.这里要连接3个表: 代码如下: SELECT u.sN ...
- 数据库——sql语句 连接查询
数据库--连接查询 1.定义:同时涉及多个表的查询. 2.连接条件常用格式: [<表名1>]<列名><比较运算符>[<表名2>]<列名2> ...
- SQL server连接查询
目录 前沿小补充 等值与非等值连接查询 自身连接 外连接 多表连接 前沿小补充 例3.48 查询平均成绩大于等于80分的学生学号和平均成绩 SELECT Sno,AVG(Grade) FROM SC ...
- Sql Server 连接查询
在操作数据库的时候,经常会使用到inner join,left join,right join,full join.今天用了一个简单的例子记录一下这几个的区别. 1 测试数据 为了方便测试,就不用搞那 ...
- SQL中连接(JOIN)子句介绍
本文主要介绍 SQL(Structured Query Language)中连接(JOIN)子句的相关知识,同时通过用法示例介绍连接的常见用法. 说明:本文的用法示例是面向 MySQL 数据库的. 1 ...
最新文章
- 编程乐趣:C#彻底删除文件
- 用ssh建立机器之间的信任机制
- android自定义optionmenu,android - 自定义onOptionMenu外观 - 堆栈内存溢出
- android 3.0单元测试,Android Studio 3.0 gradle 3.0.0-beta2打破了Kotlin单元测试覆盖率?
- 用动态规划解决最长公共子序列问题 C语言,动态规划之最长公共子序列问题 C++实现...
- 嵌入式Linux系统编程学习之二十六多线程概述
- jwt实现单点登录,基础讲解加实战!!!
- 完全搞定iframe(框架)里的滚动条
- 5.5使用Cucumber来测试
- HDU 4565(矩阵快速幂)
- REST-assured简介
- 【前端大屏可视化项目适配方案】
- 用混合编程实现两个LED交替闪烁
- 变电站3D仿真实训系统的特色及优势
- DevOps之不中断服务的蓝绿部署
- 浅析TSINGSEE智能视频分析网关的AI识别技术及应用场景
- TSDB时序数据库时序数据压缩解压技术浅析
- 计算机c盘program,Program Files是什么文件夹?Win7 C盘Program Files可以删除吗?
- fgetc, fgetchar 的区别
- 外观(Facade)模式
热门文章
- 总结js实现字符串转JSON对象的几种方法
- 用freeswitch建立呼叫中心系统的经验
- geometry 矢量数据操作
- linux 音频驱动实验
- 【Python程序设计(七)】文件和数据格式化
- 百度地图只显示行政区划轮廓
- Windows C语言开发环境实践
- Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件
- 操作系统-3.假设某多道程序设计系统中有供用户使用的内存100KB,打印机1台。系统采用可变分区方式管理内存:对打印机采用静态分配,并假设输入输出操作的时间忽略不计;采用最短剩余时间优先的进程调度算法
- http和https协议下,http可以正常下载,但是https却不能