引用菜鸟教程https://www.runoob.com/sql/sql-join.html

1、SQL join 用于把来自两个或多个表的行结合起来

下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。

2、详细介绍

  关键字 sql 描述
1 INNER JOIN  SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
INNER JOIN 关键字在表中存在至少一个匹配时返回行;注释:INNER JOIN 与 JOIN 是相同的
2 LEFT JOIN SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL;注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN
3 LEFT JOIN

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;

WHERE table2.column_name IS NULL

 
4 RIGHT JOIN SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL;注释:在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN
5 RIGHT JOIN

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name

WHERE table1.column_name IS NULL

 
6 FULL JOIN

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行;FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。MySQL中不支持 FULL OUTER JOIN

7 FULL JOIN

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name

WHERE table1.column_name IS NULL

OR   table2.column_name IS NULL

 

SQL中连接JOINS总结相关推荐

  1. SQL中连接(JOIN)子句介绍

    本文主要介绍 SQL(Structured Query Language)中连接(JOIN)子句的相关知识,同时通过用法示例介绍连接的常见用法. 说明:本文的用法示例是面向 MySQL 数据库的. 1 ...

  2. SQL中的left outer join,inner join,right outer join用法 (左右内连接)

    SQL语句中的left outer join,inner join,right outer join用法 left outer join=left join ,   right outer join= ...

  3. SQL中内连接、外连接、交叉连接

    SQL中内连接.外连接.交叉连接 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据:            book表                                      ...

  4. fastreport.net 交叉表居中显示_浅析Sql中内连接、外连接、全连接、交叉连接的区别...

    外连接(out join) 外连接分为外左连接(left outer join)和外右连接(right outer join) 注释:left outer join 与 left join 等价, 一 ...

  5. SQL错误提示档案(3):SQL Server连接中的四个最常见错误

    SQL   Server连接中的四个最常见错误:         一."SQL   Server   不存在或访问被拒绝"          一般说来,有以下几种可能性:     ...

  6. LINQ TO SQL中还是用传统的连接串方式建立DbContext更好些

        首先,在LINQTOSQL中可以这样建立一个dbcontext      private TEntity GetOriginal(TEntity entity)         {       ...

  7. SQL Server连接中的常见错误

    SQL Server连接中的常见错误: 一."SQL Server 不存在或访问被拒绝" 这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. 一般说来,有以下几种可能性 ...

  8. 02-SQL语句给表起别名SQL中的表连接

    什么情况下需要给表起别名? 1.表名比较长 2.当需要在多个表中进行查询并把查询内容同时输出的时候 3.当需要进行表连接的时候(其实和2一个意思,一般情况下多个表进行连接主要目的就是为了从多个表中查询 ...

  9. SQL中的连接(左、右、内连接)

    目录 左连接(LEFT JOIN或LEFT OUTER JOIN): 右连接(RIGHT JOIN或RIGHT OUTER JOIN): 内连接(INNER JOIN也叫等值连接): 全连接(FULL ...

最新文章

  1. Android性能优化之图片压缩优化
  2. XAMPP下的MYSQL解决中文乱码问题
  3. 数据库高可用架构(MySQL、Oracle、MongoDB、Redis)
  4. oracle 创建 触发,Oracle 创建触发器
  5. 算法优化:动态规划加速,货物运输问题,四边形不等式, 从O(n^2)到O(n^3)
  6. 【easy】206. Reverse Linked List 链表反转
  7. Apache负载均衡+Tomcat集群
  8. 嵌入式Linux多任务编程 进程 管道 命名管道
  9. python高级功能_python高级篇
  10. Linux经典书籍推荐-转
  11. 【代码源 Div1 - 102】#323. 最长因子链(dp)
  12. 百度安装php环境,Centos下安装类百度文库环境
  13. 作业1-3 求1+2!+3!+...+20!的和
  14. 如何快速深入理解监控知识?
  15. 三节锂电池充电芯片,IC设计模块的几种电路
  16. 嵌入式学习——c的复习
  17. 我的 OCM 之路|书写无悔青春,追梦永不止步
  18. 前端项目实战176-栅格顺序
  19. matlab程序二不能用于负数,matlab中负数的二进制码如何求取
  20. 安装系统-win 10

热门文章

  1. Millionaire Dream
  2. 认识jQuery的Promise
  3. 软件测试常用linux命令
  4. win10安装node后报错:npm WARN config global `--global`, `--local` are deprecated. Use `--location=global`
  5. Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品排序,Thymeleaf快速入门,商品详情页的展示)
  6. 【杂谈】win10耳机与外放分别设置
  7. mysql中insert into语句
  8. 什么是规划物料清单(Planning BoM)?
  9. 无法安装驱动程序 此计算机上不存在英特尔适配器,win10系统提示无法安装驱动程序,此计算机中没有Intel适配器怎么办...
  10. Sqoop export columns 参数使用