博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL 连接JOIN(九)
阅读量:3887 次
发布时间:2019-05-23

本文共 1474 字,大约阅读时间需要 4 分钟。

join 用于把来自两个或多个表的行结合起来。分为 LEFT JOIN、RIGHT JOIN、INNER JOIN、FULL OUTER JOIN

json子句 作用
INNER JOIN / JOIN 如果左右俩表中有至少一个匹配,则返回符合条件的行
LEFT JOIN 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN 即使左表中没有匹配,也从右表返回所有的行
FULL OUTER JOIN 只要其中一个表中存在匹配,则返回行

1、join语句中on条件与where条件

on是在生成连接表的起作用,where是生成连接表之后对连接表再进行过滤;

  • 当使用left join时,无论on的条件是否满足,都会返回左表的所有记录,对于满足的条件的记录,两个表对应的记录会连接起来,对于不满足条件的记录,那右表字段全部是null;
  • 当使用right join时,类似,只不过是全部返回右表的所有记录;
  • 当使用inner join时,功能与where完全相同;
  • 当使用full outer join时,则返回左右俩表所有的行(符合条件的只返回一条);

2、INNER JOIN

INNER JOIN求table1、table2俩表满足条件的交集,其语法如下:

SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name=table2.column_name;或:SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name=table2.column_name;/*INNER JOIN 与 JOIN 是相同的*/

3、LEFT JOIN

LEFT JOIN从table1返回所有的行,即使table2中没有匹配。如果右表中没有匹配,则结果为 NULL。其语法如下:

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

4、RIGHT JOIN

RIGHT JOIN从table2返回所有的行,即使table1中没有匹配。如果右表中没有匹配,则结果为 NULL。其语法如下:

SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name=table2.column_name;或:SELECT column_name(s) FROM table1 RIGHT OUTER JOIN table2 ON table1.column_name=table2.column_name;

4、FULL OUTER JOIN

FULL OUTER JOIN结合了 LEFT JOIN 和 RIGHT JOIN 的结果,返回table1和table2中的行。其语法如下:

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

转载地址:http://pushn.baihongyu.com/

你可能感兴趣的文章
centos 安装emacs24
查看>>
【转】结构体中Char a[0]用法——柔性数组
查看>>
结构体最后定义一个char p[0];这样的成员有何意义(转)
查看>>
一步一学Linux与Windows 共享文件Samba (v0.2b)
查看>>
Linux 下忘记root密码怎么办
查看>>
Linux软件下载源码编程文章资料周立发--之调试
查看>>
GIT分支管理是一门艺术
查看>>
Cscope在emacs中的配置与使用
查看>>
emacs 2.4安装问题 ecb
查看>>
ecb里使用自定义快捷键切换窗口
查看>>
vim(gvim)支持对齐线
查看>>
CentOS编译安装Lighttpd1.4.28
查看>>
实践HTTP206状态:部分内容和范围请求
查看>>
【C++基础】拷贝构造函数的参数必须是引用类型
查看>>
【C++基础】virtual析构函数
查看>>
【Java基础】面向对象
查看>>
【Java.Web】web.xml详解
查看>>
J2EE的技术体系
查看>>
【Java.Web】Java Web应用程序的规范目录结构,*WEB组件的URL/入口*
查看>>
【基础篇】计算机网络
查看>>