SQL——JOIN(连接)
2024-10-20 04:07:48
JOIN基于多个表之间的共同字段,把多个表的行结合起来。
一、INNER JOIN 关键字
INNER JOIN关键字:在表中存在至少一个匹配时返回行。
语法如下:
SELECT 列名1,列名2... FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名;
演示student表: 演示class表:
例子:
SELECT * FROM student INNER JOIN class ON student.class_id = class.class_id;
运行结果:
可以看到student表的class_id=7和class表的class_id6都没有搜索出来。
二、LEFT JOIN 关键字
LEFT JOIN 关键字:返回表1的所有行,表2没有匹配的则为NULL。
语法格式如下:
SELECT 列名1,列名2... FROM 表1 LEFT JOIN 表2 ON 表1.列名 = 表2.列名;
例子:
SELECT * FROM student LEFT JOIN class ON student.class_id = class.class_id;
运行结果:
可以看到,返回了student表的所有行,class表不匹配的显示NULL。
三、RIGHT JOIN关键字
RIGHT JOIN关键字:和LEFT JOIN关键字相反,返回表2的所有行,表1中没有匹配的则显示为NULL。
语法格式如下:
SELECT 列名1,列名2... FROM 表1 RIGHT JOIN 表2 ON 表1.列名 = 表2.列名;
例子:
SELECT * FROM student RIGHT JOIN class ON student.class_id = class.class_id;
运行结果:
可以看到,返回了class表的所有行,student表不匹配的显示NULL。
四、FULL OUTER JOIN关键字
FULL OUTER JOIN关键字:返回表1表2中的所有行(注意MySql中不支持)。
语法格式如下:
SELECT 列名1,列名2... FROM 表1 FULL OUTER JOIN 表2 ON 表1.列名 = 表2.列名;
例子:
SELECT * FROM student FULL OUTER JOIN class ON student.class_id = class.class_id;
╭(╯^╰)╮由于使用的是MySql,所以运行结果就不显示出来了。
最新文章
- jQuery easyui treegrid无法传参到后台bugger一记
- CentOS系统下Hadoop 2.4.1集群安装配置(简易版)
- 不变(Invariant), 协变(Covarinat), 逆变(Contravariant) : 一个程序猿进化的故事
- jsoup抓取借书记录
- Asp.Net ORM
- SqlServer_事务
- 怎么查询局域网内全部电脑IP和mac地址等信息?
- 在Xcode4中给程序提供命令行参数(转)
- Caffe : Layer Catalogue(1)
- c#程序添加其他网站的webservice引用。
- JQuery -&;gt; 超级简单的下拉菜单
- spring mvc在普通类中获取HttpServletRequest对象
- VTK显示mhd,mha格式文件
- mysql cluster部署
- ASP.NET Zero--后端应用程序
- EXTJS的使用
- 程序员大佬推荐的java学习路线
- 1038 一元三次方程求解 2001年NOIP全国联赛提高组
- log4j.properties配置详解与实例(转载)
- myeclipse 上安装 Maven3<;转>;
热门文章
- 20199302《Linux内核原理与分析》第十二周作业
- hibernate工具类
- Cogs 732. [网络流24题] 试题库(二分图)
- dedecms 模板文件不存在,无法解析文档的终极各种解决办法
- es6学习3:promise
- python在windows上创建虚拟环境
- vooya --- a YUV player and a generic raw data player
- mysql union all limit的使用
- MySQL中的比较操作符<;=>;
- 009 SpringBoot+Swagger的使用