一、内连接(Inner Join)

select * from a inner join b on a.name=b.name;

此语句的结果为同时匹配表a和表b的记录集。即内连接取的是两个表的交集。

内连接分细分为三种:

1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接 表中的所有列,包括其中的重复列。

2、不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些 运算符包括>、>=、<=、<、!>、!<和<>。

3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询 结果集合中所包括的列,并删除连接表中的重复列。

二、全外连接(full outer join)

select * from a full outer join b on a.name=b.name;

此语句的结果为表a与表b的并集,即任意一个表的内容都将被查询出来,如果另一个表无对应的项,则显示为null

select * from a full outer join b on a.name=b.name where a.name is null or b.name is null;

此语句的结果为表a与表b的并集除去两表的交集。即除去了两表都有的部分,剩余的是两表各自不同的部分

三、左外连接(left outer join)

select * from a left outer join b on a.name=b.name;

此语句的结果为表a的所有项加表b与a相匹配的项,b中没有与a匹配的项时显示为null

select * from a left outer join b on a.name=b.name where b.name is null;

此语句的结果为表a的所有项除去两表的交集

四、右外连接(right outer join)

select * from a right outer join b on a.name=b.name;

此语句的结果为表a与表b匹配的项加表b的所有项,a中没有与b匹配的项时显示为null

select * from a right outer join b on a.name=b.name where a.name is null;

此语句的结果为表b的所有除去两表的交集

五、交叉连接(cross join)

显式的和隐式,不带on子句,返回的是两表的乘积,也叫笛卡尔积。

六、联合连接(union join)

转自:https://blog.csdn.net/gq137181972/article/details/79490558

sql常用到的查询连接的更多相关文章

  1. SQL - 常用的特殊查询

    sql 查询某字段不重复的全部记录: select * from table where fid in(Select min(fid) FROM table group by name) :

  2. 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)

    SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...

  3. SQL数据库— <3>高级查询、常用函数 --摘录网络

    SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; --all 查询所有 ...

  4. sql常用查询命令

    目录 SQL Server常用查询命令: 查看当前时间 查询所有数据库名 查询当前使用的数据库名 查询前几条数据 去重查询 字段换名 查询不等于 查询在两个值之间数据 查询条件或 模糊匹配查询 查询为 ...

  5. SQL Fundamentals || 多表查询(内连接,外连接(LEFT|RIGHT|FULL OUTER JOIN),自身关联,ON,USING,集合运算UNION)

    SQL Fundamentals || Oracle SQL语言 一.多表查询基本语法 在进行多表连接查询的时候,由于数据库内部的处理机制,会产生一些“无用”的数据,而这些数据就称为笛卡尔积. 多表查 ...

  6. sql server 使用链接服务器连接Oracle,openquery查询数据

      对接问题描述:不知道正式库oracle数据库账户密码,对方愿意在对方的客户端上输入账号和密码,但不告诉我们 解决方案:使用一台sql server作为中间服务器,可以通过转存数据到sql serv ...

  7. ylb:SQL 表的高级查询-多表连接和子查询

    ylbtech-SQL Server: SQL Server-表的高级查询-多表连接和子查询 SQL Server 表的高级查询-多表连接和子查询. 1,ylb:表的高级查询-多表连接和子查询 返回顶 ...

  8. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  9. 【转】SQL Server T-SQL高级查询

    SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; //查询student ...

随机推荐

  1. EnumHelper.cs

    网上找的,还比较实用的: using System; using System.Collections.Generic; using System.ComponentModel; using Syst ...

  2. shell基础之一

    Shell脚本自动化管理系统的必备基础: vim编辑器的熟练使用,SSH终端及“.vimrc”的设置等等需要熟悉. 命令基础:Linux的150个常用命令的熟练使用 Linux的正则表达式以及三剑客( ...

  3. 计算可迭代对象的shape 老是忘~方便记法

    import numpy as np bbox =[ [[6.37532410e+02,3.83636505e+02,7.04683777e+02,4.43150146e+02, 6.23311400 ...

  4. HTML5调用本地摄像头画面,拍照,上传服务器

    实现功能和适用业务 采集本地摄像头获取摄像头画面,拍照保存,上传服务器: 前端上传图片处理,展示,缩小,裁剪,上传服务器 实现步骤 调取本地摄像头(getUserMedia)/上传图片,将图片/视频显 ...

  5. 判定Java程序员等级,HashMap就够了

    JDK1.8  HashMap源码分析 用到的符号: ^异运算:两个操作数相同,结果是;两个操作数不同,结果是1. &按位与:两个操作数都是1,结果才是1. 一.HashMap概述 在JDK1 ...

  6. Leetcode题目236.二叉树的最近公共祖先(中等)

    题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖先 ...

  7. SpringBoot ErrorController 实践

    SpringBoot的默认异常处理映射为“/error”.BasicErrorController已经默认实现了“text/html”的处理,如果想返回自定义JSON格式信息,则实现“ErrorCon ...

  8. webservice 接口报404错误问题小结

    1 背景介绍 生产环境有两台应用服务器(RAC),EBS版本是12.1.3,服务器操作系统版本linux 节点一:10.192.80.87 节点二:10.192.80.88 20180512(周六) ...

  9. 控制器Controller

    1)  org.springframework.web.servlet.mvc.ParameterizableViewController 如果请求是/hello.action的请求路径,则直接跳转到 ...

  10. vue组件命名和传值 and 父子组件传值

    https://www.cnblogs.com/lianxisheng/p/10907350.html